Ток заряда при этом достигал миллиампера— можете себе представить, каково было потребление всей схемы, если в ней одновременно заряжать хотя бы несколько тысяч ячеек. И хотя такой ток требовался на достаточно короткое время (впрочем, с точки зрения быстродействия схемы не такое уж и короткое — миллисекунды), но это было крупнейшим недостатком всех старых образцов подобной EPROM-памяти. Еще хуже другое, то, что и изолятор, и сам плавающий затвор такого «издевательства» долго не выдерживали, и постепенно деградировали, отчего число циклов стирания/записи было ограничено нескольким сотнями, максимум — тысячами. Во многих образцах flash-памяти даже более позднего времени была предусмотрена специальная схема для хранения карты «битых» ячеек — в точности так, как это делается для жестких дисков. В современных моделях с миллионами ячеек такая карта, кстати, тоже, как правило, имеется, однако число циклов стирания/записи теперь возросло до соген тысяч. Как этого удалось добиться?
Сначала посмотрим, как осуществлялось в этой схеме стирание. В UV-EPROM при облучении ультрафиолетом фотоны высокой энергии сообщали электронам на плавающем затворе достаточный импульс для того, чтобы они «прыгали» обратно на подложку самостоятельно, без каких-либо электрических воздействий. Первые образцы электрически стираемой памяти (EEPROM, Electrically Erasable Programmable ROM — «электрически стираемое перепрограммируемое ПЗУ», ЭСППЗУ) были созданы в компании Intel в конце 1970-х при непосредственном участии будущего основателя Atmel Джорджа Перлегоса. Он использовал «квантовый эффект туннелирования Фаулера — Нордхейма» (Fowler — Nordheim). За этим непонятным названием кроется довольно простое по сути (но очень сложное с физической точки зрения) явление: при достаточно тонкой пленке изолятора (ее толщину пришлось уменьшить с 50 до 10 нм) электроны, если их слегка «подтолкнуть» подачей не слишком высокого напряжения в нужном направлении, могут просачиваться через барьер, не «перепрыгивая» его. Сам процесс показан на рис. 11.10 вверху (обратите внимание на знак напряжения на управляющем электроде).
Рис. 11.10
.Старые образцы EEPROM именно так и работали: запись производилась «горячей инжекцией», а стирание — «квантовым туннелированием». Оттого они были довольно сложны в эксплуатации — разработчики со стажем помнят, что первые микросхемы EEPROM требовали два, а то и три питающих напряжения, причем подавать их при записи и стирании требовалось в определенной последовательности. Мало того, цена таких чипов была в свете нынешних тенденций почти запредельной. Автор этих строк сам покупал в середине 1990-х полумегабитную (т. е. 64-килобайтную) энергонезависимую память по цене 20 долл. за микросхему. Не забудьте еще про «битые» ячейки, возникновение которых в процессе эксплуатации приходилось все время отслеживать. Неудивительно, что на этом фоне разработчики предпочитали более дешевую, удобную, скоростную и надежную статическую память (SRAM), пристраивая к ней резервное питание от литиевых батареек, которые к тому времени уже достаточно подешевели.
Превращение EEPROM во Flash происходило по трем разным направлениям. В первую очередь — в направлении совершенствования конструкции самой ячейки. Для начала избавились от самой «противной» стадии — «горячей инжекции». Вместо нее запись стали осуществлять «квантовым туннелированием», как и при стирании. На рис. 11.10 внизу показан этот процесс: если при открытом транзисторе подать на управляющий затвор достаточно высокое (но значительно меньшее, чем при «горячей инжекции») напряжение, то часть электронов, двигающихся через открытый транзистор от истока к стоку, «просочится» через изолятор и окажется на плавающем затворе. Потребление тока при записи снизилось на несколько порядков. Изолятор, правда, пришлось сделать еще тоньше, что обусловило довольно большие трудности с внедрением этой технологии в производство.
Второе направление — ячейку сделали несколько сложнее, пристроив к ней второй транзистор (обычный, не двухзатворный), который разделил вывод стока и считывающую шину всей микросхемы. Благодаря этому (вместе с отказом от «горячей инжекции») удалось добиться значительного повышения долговечности — до сотен тысяч, а в настоящее время и до миллионов циклов записи/стирания (правда, последнее — при наличии схем коррекции ошибок, которые замедляют работу памяти). Кроме того, схемы формирования высокого напряжения и соответствующие генераторы импульсов записи/стирания перенесли внутрь микросхемы, отчего пользоваться этими типами памяти стало несравненно удобнее, т. к. они стали питаться от одного напряжения (5 или 3,3 В).