Flash-память - долгожданный реванш
[/i]
[i]Flash-память известна и широко применяется достаточно давно. Однако вплоть до последних лет популярность обходила ее стороной, внимание индустрии было приковано к микросхемам DRAM, магнитным носителям, компакт-дискам, но только не к скромным квадратикам flash-памяти. С приходом эры мобильности наследница EEPROM словно обрела второе дыхание. [/font][font="Century Gothic"]Время становления[/font] [font="Century Gothic"]Изобретателем flash-памяти считается корпорация Intel (1988 г.), а название технологии произошло от метода стирания -- вся микросхема за раз. Впоследствии чипы flash избавились от этого недостатка, и теперь стирание происходит побайтово или постранично. Тем не менее название прижилось и используется по сей день. Здесь необходимо пролить свет на то, что общего и какие различия между терминами flash и EEPROM (Electrically Erasable Programmable Read-Only Memory). Если быть точным до конца, то они не эквивалентны. Архитектура EEPROM была разработана существенно раньше, и она изначально обеспечивала возможность побитового стирания информации. Flash является развитием EEPROM в направлении удешевления производства, но отнюдь не в сторону технического совершенства.
Первый чип на основе flash-технологии емкостью 256 Kb был использован в медицинской аппаратуре производства Hewlett-Packard. Тогда партия чипов обходилась в $20 за штуку или $640 за мегабайт. Спустя 12 лет, в мае 2000 г., Intel отметила продажу миллиардной микросхемы, причем 45% изделий из этого миллиарда было поставлено производителям мобильных телефонов.
В 90-х годах на основе существующей низкоуровневой технологии компании стали одна за другой придумывать способы реализации старой идеи в новой упаковке. Так, вслед за впервые показанной на осеннем COMDEX в ноябре 1995 г. Solid-State Floppy-Disk Card (SSFDC), или SmartMedia, бесконтроллерной памяти типа NAND (Not AND) от Toshiba (плод альянса с IBM, образованного еще в 1992 г.), в 1994 г. появились карты CompactFlash от SanDisk, а совсем недавно, пару лет назад (в 1998 г.) Sony тоже сказала свое "веское слово", анонсировав Memory Stick.
Удобство использования карт памяти и их надежность изначально существенно превышали аналогичные параметры магнитных носителей, однако низкие темпы продаж были обусловлены высокой стоимостью полупроводниковых изделий. Лишь когда спрос на компактные, надежные и с низким потреблением энергии носители информации превысил некоторый критический уровень вследствие увеличения рынка мобильных устройств, а цена на чипы упала -- настал звездный час flash-памяти.
[/font]
[font="Century Gothic"]Flash: прошлое и настоящее
[/font] [font="Century Gothic"] [/font]
[font="Century Gothic"][size=-1]Рис. 1 (a)[/size][/font]
[font="Century Gothic"] [/font]
[font="Century Gothic"][size=-1]Рис. 1 (б)[/size][/font]
[font="Century Gothic"]Типы flash-памяти можно рассматривать на трех уровнях: интерфейсном, видов организации ячеек и типов ячеек. Мы остановимся лишь на двух последних. Вначале коснемся вопроса внутренней организации чипа EEPROM. Сперва ответим на вопрос, что подразумевается под "внутренней организацией"? На самом деле, очень простая вещь -- способ соединения ячеек. Например, сегодня наиболее популярны (~75% рынка) чипы типа NOR (Not OR). Каждая ячейка в такой микросхеме подключена к двум перпендикулярным линиям -- битов (bit line) и слов (word line). Суть логической операции NOR -- в переходе линии битов в состояние "0", если хотя бы один из транзисторов-ячеек, подсоединенных к ней, включен или, говоря иначе, проводит ток. Селекция читаемой ячейки осуществляется с помощью линии слов. Все ячейки памяти NOR, согласно правилам, подключены к своим битовым линиям параллельно (рис. 1, а). Другой тип подсоединения называется NAND (Not AND). В этом случае битовая линия переходит в состояние "0", если все транзисторы, подключенные к ней, проводят ток. Теперь ячейки подсоединяются к битовой линии сериями (рис. 1, б), что снижает эффективность и скорость операции чтения (поскольку уменьшается ток каждой ячейки), зато повышает скорость стирания и программирования. Чтобы приуменьшить негативный эффект низкой скорости чтения, чипы NAND снабжаются внутренним регистровым кэшем. Благодаря гирляндному принципу подсоединения ячеек в этом варианте удается добиться более компактной упаковки, чем в случае с параллельной архитектурой NOR-чипов.
[/font][font="Century Gothic"]Типы ячеек
[/font]
[font="Century Gothic"]Stacked Gate Cell[/font]
[font="Century Gothic"] [/font]
[font="Century Gothic"] [/font]
[font="Century Gothic"][size=-1]Рис. 2[/size][/font]
[font="Century Gothic"]Ячейка с многослойным затвором -- наиболее старый и одновременно простой тип ячейки памяти EEPROM. В основе ее лежит полевой транзистор, имеющий, впрочем, некоторое отличие от классического аналога в виде еще одного, так называемого плавающего затвора. Этот затвор является неотъемлемой частью всех модификаций flash-памяти: он играет ту же роль, что и конденсатор в DRAM, т. е. хранит запрограммированное значение. На плавающий затвор путем двух квантовых процессов помещаются заряды с разными значениями, которые влияют на поле основного, или управляющего затвора (рис. 2).
Таким образом, состояние транзистора (проводящее или непроводящее) зависит в данном случае сразу от обеих баз. Плавающий затвор изолируется от стока, истока и управляющего затвора тончайшим слоем (около 10 нм при 1-микронном процессе производства) окиси кремния. Следовательно, чтобы сообщить заряд плавающей базе, приходится пускаться на всевозможные ухищрения. Рассмотрим вначале процесс удаления содержимого ячейки. Здесь и далее будем полагать, что исток и сток представляют собой полупроводники p-типа, а значит, для выключения транзистора необходимо создать в канале отрицательное поле, блокирующее процесс перехода электронов. Между истоком (+) и управляющим затвором (--) прикладывается напряжение, которое приводит к появлению электрического поля высокой напряженностью 10 МВ/см вдоль слоя окиси между плавающим затвором и истоком. В результате квантового эффекта туннелирования Фаулера--Нордхейма (Fowler--Nordheim) заряд с плавающей базы перетекает к истоку. Стертая ячейка будет проводить ток ("1"), так как электрический барьер поля, обеспечиваемого плавающим затвором, исчез.
Во время программирования напряжение прикладывается уже между стоком и управляющей базой. Здесь плавающий затвор заряжается "горячими" электронами (Channel Hot Electrons -- CHE), которые генерируются в канале транзистора. Эти электроны называют горячими потому, что они обладают высокой энергией, достаточной, чтобы преодолеть потенциальный барьер, создаваемый тонкой пленкой окиси кремния. Эффективность процесса программирования в данной конфигурации ячейки крайне низка. Чтобы довести дело до конца, приходится прибегать к высокому напряжению, ток между истоком и стоком достигает 1 mA. Высокие напряжения, длительное протекание сильных токов, обусловленные невысокой эффективностью, приводят к значительному снижению надежности и устойчивости памяти.
Схема внутричиповых соединений достаточно проста -- каждая ячейка подключена как к линии слов, так и к линии битов. Фактически она находится на их пересечении, что вследствие наличия в схеме высокого напряжения приводит к значительному перерасходу места: линии истоков, битов и слов приходится располагать на достаточном удалении от других элементов схемы, чтобы обеспечить необходимый уровень изоляции.
Еще один существенный недостаток однотранзисторной ячейки -- подверженность эффекту избыточного удаления (overerase). Иногда плавающая база из-за дефектов в слое окисла, образовавшихся при производстве чипа или впоследствии при его эксплуатации, теряет при стирании слишком много электронов, которые уже не может восполнить процесс программирования. В результате после нескольких циклов стирания начинает проявляться положительное электрическое поле плавающего затвора, что приводит транзистор в состояние "постоянно открыт" вне зависимости от напряжения на управляющем затворе. Происходит заземление стока на битовую линию. А это означает, что битовая линия будет всегда выдавать "1" или "0" (в зависимости от типа базовой логики -- NAND или NOR) и чтение других ячеек станет невозможным.
Помимо эффекта избыточного удаления, однотранзисторная память подвержена и всем прочим недостаткам, присущим flash-ячейкам. В основном, они связаны с нарушениями в окисном слое: медленное стекание заряда (slow leaking bits), вызывающее снижение скорости чтения и даже битовые ошибки; с другой стороны, захват заряда (накопление избыточного отрицательного заряда на плавающем затворе) приводят к ухудшению времени стирания и программирования. Нарушение слоя окисла в некоторых случаях влечет за собой появление "залипающих" битов (stuck bits) -- ячеек, быстро теряющих или, наоборот, не желающих ни при каких обстоятельствах уступать свой заряд. Утешает только, что в не очень запущенных случаях время "лечит" дефекты, возникающие после захвата заряда. Последний постепенно "рассасывается", и ячейка возвращается в свое нормальное состояние. Проблемы доставляет и группа эффектов, связанных с перекрестным влиянием операций чтения, стирания и программирования на соседние ячейки и целые области чипа.