Страница:
PROM(programmable rom) — программируемое ПЗУ (ППЗУ), обычно относят к OTPROM (One Time Programmable ROM) — «Однократно Программируемое ПЗУ». К PROM также относят и «Масочное ПЗУ» — вариант OTPROM, который программируется не самим пользователем, а на фабрике в процессе изготовления.
EPROM(erasable programmable rom) — стираемая/программируемая rom. По-русски иногда называют ПППЗУ («Перепрограммируемое ПЗУ»). Иногда употребляется как синоним UV-EPROM.
EEPROM(electrically erasable programmable rom) — электрически стираемое перепрограммируемое ПЗУ, ЭСППЗУ.
UV-EPROM (ultra-violet eprom) — ультрафиолетовая eprom, УФППЗУ. Исторически первая коммерческая разновидность EPROM, операция стирания в которой производится ультрафиолетом через специальное окошко.
Flash memory — первоначально термин придуман для обозначения прогрессивной разновидности EEPROM, в которой чтение/запись для ускорения процесса производятся сразу целыми блоками. Позднее (когда медленная EEPROM исчезла из обращения) стал фактическим синонимом EEPROM и теперь обозначает ее любые разновидности.
— схема состоит из одного транзистора и одного конденсатора, занимающего места раза в четыре больше транзистора (в основном вглубь кристалла). Потому ячейки DRAM довольно просто сделать очень малых размеров, а следовательно, «упаковать» их большее количество на один кристалл, не теряя в быстродействии. Отсюда и распространенность DRAM в качестве компьютерных ОЗУ — при всем кажущемся неудобстве процессов, связанных с непрерывной регенерацией содержимого.
А как происходит чтение данных с такой ячейки? Для этого подается высокий уровень напряжения на линию строк (рис. 2), транзистор открывается, и заряд, хранящийся на конденсаторе данной ячейки, поступает на вход усилителя, установленного на выходе столбца. Отсутствие заряда на обкладках соответствует логическому нулю на выходе, а его наличие — логической единице. Обратите внимание, что подача высокого уровня напряжения на линию строк откроет все транзисторы выбранной строки, и данные окажутся на выходе усилителей по всем столбцам сразу. Естественно, при этом все подключенные конденсаторы почти немедленно разрядятся (если они были заряжены), отчего процедура чтения из памяти обязана заканчиваться регенерацией данных — так и происходит, причем автоматически. На практике в первых IBM PC регенерация и заключалась в осуществлении «фиктивной» операции чтения данных.
Я так подробно остановился на принципах работы ячейки DRAM потому, что любая современная память всегда хранит информацию в виде зарядов. И знание принципа работы самого простого элемента памяти нам поможет теперь понять, что же пришлось изменить в этой конструкции для обеспечения хранения заряда достаточно длительный срок.
Замечательное изобретение сотрудника Intel Дона Фрохмана как раз и состояло в том, что он придумал, как это сделать. Но сначала давайте посмотрим, как работает сконструированный им полевой транзистор с плавающим затвором при чтении информации.
На рис. 3
представлено устройство элементарной ячейки, лежащей в основе всех современных типов флэш-памяти. Если исключить из нее «плавающий затвор», мы получим самый обычный полевой транзистор — такой же, как тот, что входит в ячейку DRAM. Если подать на управляющий затвор такого транзистора положительное напряжение, он откроется, и через него потечет ток (состояние «логическая единица»).
На рис. 4
и изображен именно такой случай, когда плавающий затвор не оказывает никакого влияния на работу ячейки, — такое состояние характерно для «чистой» флэш-памяти, в которую еще ни разу ничего не записывали.
Если же мы каким-то образом ухитримся разместить на плавающем затворе некоторое количество зарядов — свободных электронов (на рис. 3 они показаны в виде красненьких кружочков), — то они будут экранировать действие управляющего электрода, и такой транзистор вообще перестанет проводить ток. Это состояние — «логический ноль» 8 . Поскольку затвор «плавает» в толще изолятора (двуокиси кремния, SiO2), то сообщенные ему однажды заряды в покое никуда деться не могут. И записанная таким образом информация может храниться десятилетиями (производители обычно давали гарантию 10 лет, но на практике это время значительно больше).
Осталось всего ничего — придумать, как размещать заряды на изолированном от внешних влияний плавающем затворе. И не только размещать — ведь иногда память приходится и стирать, — поэтому должен существовать способ извлекать их оттуда. В первых образцах EPROM (UV-EPROM — тех самых, что стирались ультрафиолетом) слой окисла между плавающим затвором и подложкой был достаточно толстым (если, конечно, величину 50 нанометров можно охарактеризовать словом «толстый»), и работало все это довольно грубо. При записи на управляющий затвор подавали достаточно высокое положительное напряжение — до 36—40 В (что для микроэлектронной техники считается просто катастрофическим перенапряжением), а на сток транзистора — небольшое положительное. При этом электроны, которые двигались от истока к стоку, настолько ускорялись полем управляющего электрода, что барьер в виде изолятора между подложкой и плавающим затвором просто «перепрыгивали». Такой процесс называется еще инжекцией горячих электронов.
Ток заряда при этом достигал миллиампера — можете себе представить, каково было потребление всей схемы, если в ней одновременно заряжать хотя бы несколько тысяч ячеек. И хотя такой ток требовался на достаточно короткое время (хотя с точки зрения быстродействия схемы не такое уж и короткое — миллисекунды), это было крупнейшим недостатком всех старых образцов EPROM-памяти. Еще хуже другое — и изолятор, и сам плавающий затвор такого «издевательства» долго не выдерживали, постепенно деградируя, отчего количество циклов записи/стирания было ограничено несколькими сотнями, максимум — тысячами. Во многих образцах флэш-памяти (даже более поздних) была предусмотрена специальная схема для хранения карты «битых» ячеек — в точности так, как это делается в жестких дисках. В современных моделях такая карта, кстати, тоже имеется — однако число циклов стирания/записи возросло до сотен тысяч и даже миллионов.
Теперь посмотрим, как осуществлялось в этой схеме стирание. В упомянутой UV-EPROM при облучении ультрафиолетом фотоны высокой энергии сообщали электронам на плавающем затворе достаточный импульс, чтобы они «прыгали» обратно на подложку самостоятельно, без каких-либо электрических воздействий. А Джордж Перлегос использовал «квантовый эффект туннелирования Фаулера-Нордхейма» (Fowler-Nordheim) в электрически стираемой памяти (EEPROM). За непонятным названием кроется довольно простое (но очень сложное с физической точки зрения), по сути, явление: при достаточно тонкой пленке изолятора (10 нм) электроны, если их слегка «подтолкнуть» не слишком высоким напряжением в нужном направлении, могут «просачиваться» через барьер, не перепрыгивая его. Процесс показан на рис. 4 (обратите внимание на знак напряжения на управляющем электроде).
Старые образцы EEPROM именно так и работали: запись производилась горячей инжекцией, а стирание — квантовым туннелированием. Оттого они были довольно сложны в эксплуатации; разработчики со стажем помнят, что первые микросхемы EEPROM требовали два, а то и три питающих напряжения, причем подавать их при записи и стирании требовалось в определенной последовательности. Мало того, цена таких чипов была почти запредельной — автор сам покупал в середине 1990-х полумегабитную (то есть 64-килобайтную) энергонезависимую память по $30 за микросхему. Не забудьте и про «битые» ячейки, возникновение которых в процессе эксплуатации приходилось все время отслеживать. Неудивительно, что разработчики предпочитали использовать более дешевую, удобную, скоростную и надежную статическую память (SRAM), пристраивая к ней резервное питание от литиевых батареек, которые к тому времени уже достаточно подешевели. На этой волне компания Dallas Semiconductor даже выпустила специальный тип NVRAM с батарейкой, встроенной прямо в микросхему.
Превращение EEPROM во Flash происходило по трем разным направлениям. Во-первых, усовершенствовалась конструкция самой ячейки. Для начала избавились от самой противной стадии — «горячей инжекции». Вместо нее при записи стали также использовать квантовое туннелирование, как и при стирании.
На рис. 5
показан этот процесс — если при открытом транзисторе подать на управляющий затвор достаточно высокое (но значительно меньшее, чем при «горячей инжекции») напряжение, часть электронов, двигающихся через открытый транзистор от истока к стоку, «просочится» через изолятор и окажется на плавающем затворе. Потребление тока при записи снизилось на несколько порядков. Изолятор, правда, пришлось сделать еще тоньше, что обусловило довольно большие трудности с внедрением этой технологии в производство.
Во-вторых, ячейку сделали несколько сложнее, пристроив к ней второй транзистор (обычный), который разделил вывод стока и считывающую шину всей микросхемы. Благодаря этому (вместе с отказом от горячей инжекции) удалось добиться значительного повышения долговечности — до сотен тысяч, а в настоящее время — до миллионов 9 циклов записи/стирания. Кроме того, схемы формирования высокого напряжения и соответствующие генераторы импульсов записи/стирания перенесли внутрь микросхемы, отчего пользоваться такими типами памяти стало несравненно удобнее — они стали питаться от одного напряжения (5 или 3,3 В).
И наконец, в-третьих, изменилась организация доступа к ячейкам на кристалле, вследствие чего этот тип памяти и заслужил наименование flash, «молния».
В первых моделях IBM РС регенерация осуществлялась каждые 15 мкс по сигналу системного таймера. Естественно, в таком решении было много подводных камней — во-первых, регенерация всей памяти занимала много времени, в течение которого ПК был неработоспособен. Потому-то сигнал на регенерацию и подавался с такой большой частотой — каждый раз проверялась всего 1/256 памяти, так что полный цикл восстановления занимал около 3,8 мс. Во-вторых, такое решение потенциально опасно: любая зловредная программа спокойно могла остановить системный таймер, отчего компьютер уже через несколько миллисекунд впадал в полный ступор. Современные микросхемы DRAM занимаются восстановлением данных самостоятельно, да еще и так, чтобы не мешать основной задаче — процессам чтения/записи.
Между тем требовались все большие емкости долговременной памяти. Усовершенствование процедур записи и стирания ускорило процесс, но все же в сравнении с обычными DRAM и SRAM энергонезависимая память принципиально проигрывала в быстродействии. Правда, проигрывает и по сей день — только в последние годы (если не сказать месяцы) появилась надежда, что в будущем вся память компьютеров станет энергонезависимой. Еще совсем недавно «флэшки» уступали в «скорострельности» даже жестким дискам, не то что DRAM — иначе откуда бы взяться таким устройствам, как IBM Microdrive? Давайте посмотрим, как поступили разработчики во главе с Фуджио Масуока, придумывая то, что получило название флэш-память.
Они решили, что раз потребление при записи удалось снизить, то можно записывать ячейки не индивидуально, а блоками — чем крупнее блок, тем быстрее получится. В этой схеме некий массив данных готовится заранее (помещается в специальный временный буфер SRAM — на том же кристалле, что и основная память), затем все нужные ячейки разом стираются, и одновременно же в них записывается информация из буфера. Недостатком такого метода стала необходимость перезаписи целого блока, даже если нужно изменить только один бит в одной-единственной ячейке. Но на практике это не вырастает в проблему — основные задачи, которые выполняет энергонезависимая память в современном мире, как раз и заключаются в разовой записи больших массивов (цифровые камеры, плееры и т.п.). Вот такая разновидность EEPROM и стала называться flash — за многократно выросшую скорость записи информации, ставшей сравнимой со скоростью чтения.
Первая микросхема флэш-памяти, выведенная на рынок компанией Intel в 1988 году (32 Кбайта, примерно по $20 за штуку), имела организацию NOR (рис. 6).
Подобная структура была у всех ранних типов EPROM. Здесь все просто: как и в DRAM, ячейки в строках матрицы соединены управляющими затворами («линии слов»), а в столбцах — считывающими линиями, которые здесь носят наименование «линии бит». Собственно, схему организации DRAM при желании можно также обозвать «схемой NOR». Доступ, как при чтении, так и при записи, возможен индивидуально к каждой ячейке. Благодаря такому построению, NOR имеет возможность очень быстрого считывания (в том числе, на выбор, любого бита или байта!), но скорость записи, которая по большей части обеспечивается искусственным соединением подобных матриц в блоки, у нее подкачала. Вследствие этих свойств NOR-разновидность незаменима в тех случаях, когда требуется быстрое выборочное чтение, а акты перезаписи сравнительно редки — в микросхемах BIOS, SIM-картах, встроенной памяти микроконтроллеров и т. п.
В 1989 году на рынке появилась первая флэш-память NAND-разновидности фирмы Toshiba. Ее структура показана на рис. 6, и как можно видеть, она значительно отличается от NOR. Начнем с того, что сами ячейки построены иначе, хотя и содержат все тот же транзистор с плавающим затвором.
На рис. 7
дана схема расположения этих компонентов на кристалле (элементарная ячейка обведена красным пунктиром) — как видите, с точки зрения производства NAND проще и занимает заметно меньше места, чем NOR. Чтение в ней происходит по-другому. Если в NOR следует подавать по очереди на линии слов высокий уровень напряжения («логическая единица»), и считывать значения с линий бит индивидуально для каждой ячейки, то в NAND наоборот, сначала все транзисторы данной конструкции следует открыть подачей напряжения высокого уровня на линии слов, а потом по очереди закрывать их подачей низкого уровня («логический ноль»).
Транзисторов-ячеек в NAND может быть от 16 до 32, но обычно их объединяют в блоки по 512 байт, которые и читаются и записываются только целиком. 512 байт — обычная величина сектора на жестком диске, также считываемого и записываемого целиком за один раз 10 . Эти блоки могут объединяться и в бульшие образования — страницы. Все это указывает на основное назначение NAND-технологии — построение систем хранения файлов. Практически все современные карты памяти, основным назначением которых и является хранение больших массивов информации за одно обращение, построены на флэш-памяти типа NAND. При чтении таких массивов первое обращение — довольно долгое (по сравнению с NOR), а вот далее данные идут широким потоком, почти не прерываясь. В последнее время даже Intel, стойко придерживавшаяся политики усовершенствования NOR-разновидности, «сдалась» и совместно с Micron занялась разработкой карт на основе NAND-чипов.
NOR— организация ячеек флэш-памяти по принципу логической функции «ИЛИ-НЕ»: индивидуальный доступ к каждому биту и большая скорость чтения, но и большие размеры ячейки и малое быстродействие при записи.
NAND— организация ячеек по принципу логической функции «И-НЕ»: высокое быстродействие при записи и компактность, но чтение и запись информации — только блоками.
SLC(single-level cell) — одноуровневая ячейка: традиционное построение флэш-памяти с возможностью хранения одного бита в одной ячейке.
MLC(multi-level cell) — многоуровневая ячейка: флэш-память (как nor, так и NAND), построенная таким образом, чтобы можно было хранить два и более бит в одной ячейке.
OneNAND— технология, разработанная samsung, совмещает функцию высокоскоростного считывания информации NOR— и компактность NAND-flash.
LBA-NAND (logical block addressing nand) — улучшенная структура NAND-чипа компании Toshiba, позволяющая иметь единое адресное пространство независимо от объема применяемой «флэшки».
DINOR(divided bit-line nor) — структура nor с разделенными разрядными линиями, разработанными компанией Hitachi.
Собственно, принципиально нового со времен Фуджио Масуоки было только одно: разработчики учли то, что информация в ячейке хранится в аналоговой форме — в виде некоторого количества электронов (порядка 1000). Если использовать деление на несколько градаций и строго дозировать электроны при записи, можно в одной ячейке хранить не один (классическая схема), а сразу много бит информации. Так появились многоуровневые ячейки — MLC. У фирмы Intel это называется технология StrataFlash, у AMD и Fujitsu (Spansion — их совместное предприятие) — MirrorBir, у израильской фирмы Saifun (у которой, судя по итогам судебного процесса, AMD и Fujitsu заимствовали свой MirrorBir) — NROM, у Toshiba и M-Systems — просту х2 или х4 (смотря по тому, сколько бит хранится в ячейке). И хотя технология и схемотехника такой памяти гораздо сложнее, выигрыш очевиден — возрастает плотность упаковки. Кроме того, можно применить так называемую многочиповую упаковку (MCP — multi-chip packages), в чем особенно преуспела Samsung. Теперь вам понятно, откуда чуть ли не каждые полгода появляются объявления о начале производства NAND-микросхем с удвоенной емкостью?
Однако пользователя, кроме емкости устройств, интересует и скорость чтения/записи. Собственно, оставаясь в рамках классической компоновки, даже для наиболее быстрой в плане чтения NOR невозможно достичь скорости более 10—20 Мбайт/с. С ужесточением технологических норм (сейчас флэш-память делают по 60-нанометровой технологии), эта скорость может вырасти еще, но сами понимаете, это не выход.
Указанные скорости подтягивают флэш до уровня жестких дисков, и вполне приемлемы для записи информации в современных гаджетах. Посчитайте сами — Nikon анонсирует 10-мегапиксельную зеркалку любительского класса. Чтобы записать RAW-кадр с такой матрицы в режиме непрерывной съемки хотя бы три раза в секунду, требуется быстродействие памяти на уровне как минимум 60 Мбайт/с! И сколько буферной RAM в аппарат не запихивай, она довольно скоро закончится — камера все же не настольный ПК. Отсюда и насущная потребность в быстрой и емкой флэш-памяти.
Отмечу лишь одно из наиболее востребованных направлений повышения скорости обмена с памятью — технологию OneNAND от Samsung. Объединив на одном кристалле флэш-память NAND (упакованную по технологии MCP) с буфером на основе высокоскоростной SRAM и добавив туда определенные логические схемы, компания добилась беспрецедентной скорости чтения — 108 Мбайт/с, оставив далеко позади всех. Скорость записи такой памяти, впрочем, на порядок ниже, и по разным сведениям составляет от 9,3 до 10 Мбайт/с, что, конечно, здорово (примерно в 60 раз быстрее классической NOR), но все же далеко от идеала. У компании Micron есть аналогичная технология — Managed NAND — она основана на интеграции контроллера для карт памяти MMC и потому годится для производства только этой разновидности.
Прежде всего это FeRAM и MRAM — технологии, использующие магнитные свойства веществ (ферроэлектрический и магниторезистивный эффекты соответственно). Надо сказать, принцип построения твердотельной памяти на основе физических эффектов магнитных явлений привлекает ученых не первый десяток лет — подобная память должна иметь крайне высокую радиационную стойкость. В настоящее время агентство DARPA* финансирует компанию Honeywell, которая взялась за разработку MRAM. Участвует в этом процессе и Motorola. По сути, предлагается использовать обычную ячейку DRAM (рис. 3), заменив в ней конденсатор на магниторезистивный материал. В идеале это позволит получить аналог обычной оперативной памяти, только без потери информации при выключении питания. Хотя и отчеты поступают регулярно, и содержание их весьма оптимистично, но многолетняя история вопроса все же заставляет задуматься. С другой стороны, в истории техники бывало всякое: вот небольшая компания Cypress Semiconductor уже выпускает модули MRAM небольшой емкости, сравнимые по своим параметрам с SRAM-разновидностью.
Корпорация Fujitsu еще в 2003 году сообщила о разработке модификации традиционной ячейки EPROM, время записи в которой сильно уменьшено — в основном за счет предельного уменьшения толщины слоя изолятора между плавающим затвором и подложкой (до 3 нм). Однако, вместе с тем резко сократилось и время хранения информации — с нескольких десятков лет до месяцев. Судя по тому, что никаких сенсационных новостей с этого фронта не поступает, с этой проблемой пока не удается справиться.
Другой, гораздо более интересной разработкой стала технология PMC (Programmable Metallization Cell — программируемая металлизированная ячейка). Сотрудники Государственного университета Аризоны совместно с компанией Axon Technologies «заставили» халькогенидный сплав под действием небольшого напряжения обратимо менять электрическое сопротивление более чем в сто раз! Причем наличие напряжения требуется только в процессе программирования, в остальное время проводящее (или непроводящее) состояние может сохраняться хоть столетиями. Столь же рекордны и остальные параметры — перепрограммирование занимает 10 нс (сравнимо с DRAM), предельное количество циклов перезаписи — 1013 (столько не живут!), рабочее напряжение — 3 В и ниже, ток перезаписи — от 1 мкА… Напомним, что технология PMC буквально создана для реализации многоуровневых ячеек (MLC). В общем, все здорово, но где же обещанная революция? Поживем — увидим.
Ну и, конечно, нельзя обойти нанотехнологии — куда же без них! Здесь есть несколько многообещающих направлений. Так, Motorola предлагает использовать нанокристаллы для формирования плавающего затвора. В идеале суть такого подхода заключается в выражении «1 бит — 1 электрон», что позволит перейти к теоретически максимальной плотности записи данных. Но это, скорее, далекое будущее. Другое направление, разрабатываемое компанией Nantero, уже ближе к реальной жизни. Компания сообщила об изготовлении и удачном тестировании памяти на основе углеродных нанотрубок (NRAM). По скорости перезаписи (3 нс) NRAM превосходит все сегодняшние устройства памяти, при этом являясь энергонезависимой. Мало того, Nantero проработала и технологический процесс изготовления такой памяти, уверяя, что для ее производства годится стандартное оборудование, что внушает некоторый оптимизм — и в первую очередь потому, что подобные сообщения исходят не только от Nantero. А значит технология действительно перспективная.
EPROM(erasable programmable rom) — стираемая/программируемая rom. По-русски иногда называют ПППЗУ («Перепрограммируемое ПЗУ»). Иногда употребляется как синоним UV-EPROM.
EEPROM(electrically erasable programmable rom) — электрически стираемое перепрограммируемое ПЗУ, ЭСППЗУ.
UV-EPROM (ultra-violet eprom) — ультрафиолетовая eprom, УФППЗУ. Исторически первая коммерческая разновидность EPROM, операция стирания в которой производится ультрафиолетом через специальное окошко.
Flash memory — первоначально термин придуман для обозначения прогрессивной разновидности EEPROM, в которой чтение/запись для ускорения процесса производятся сразу целыми блоками. Позднее (когда медленная EEPROM исчезла из обращения) стал фактическим синонимом EEPROM и теперь обозначает ее любые разновидности.
Элементарная ячейка DRAM
Чтобы лучше понять принцип работы EEPROM, начнем с самого простого — ячейки обычной DRAM. Как вы можете убедиться, взглянув на рис. 2,— схема состоит из одного транзистора и одного конденсатора, занимающего места раза в четыре больше транзистора (в основном вглубь кристалла). Потому ячейки DRAM довольно просто сделать очень малых размеров, а следовательно, «упаковать» их большее количество на один кристалл, не теряя в быстродействии. Отсюда и распространенность DRAM в качестве компьютерных ОЗУ — при всем кажущемся неудобстве процессов, связанных с непрерывной регенерацией содержимого.
А как происходит чтение данных с такой ячейки? Для этого подается высокий уровень напряжения на линию строк (рис. 2), транзистор открывается, и заряд, хранящийся на конденсаторе данной ячейки, поступает на вход усилителя, установленного на выходе столбца. Отсутствие заряда на обкладках соответствует логическому нулю на выходе, а его наличие — логической единице. Обратите внимание, что подача высокого уровня напряжения на линию строк откроет все транзисторы выбранной строки, и данные окажутся на выходе усилителей по всем столбцам сразу. Естественно, при этом все подключенные конденсаторы почти немедленно разрядятся (если они были заряжены), отчего процедура чтения из памяти обязана заканчиваться регенерацией данных — так и происходит, причем автоматически. На практике в первых IBM PC регенерация и заключалась в осуществлении «фиктивной» операции чтения данных.
Я так подробно остановился на принципах работы ячейки DRAM потому, что любая современная память всегда хранит информацию в виде зарядов. И знание принципа работы самого простого элемента памяти нам поможет теперь понять, что же пришлось изменить в этой конструкции для обеспечения хранения заряда достаточно длительный срок.
Ячейка EPROM
Вы можете спросить — а с чего, собственно, столь быстро утекают заряды в ячейке DRAM? Неужели нельзя обкладки конденсатора изолировать получше? Изолировать-то можно, однако это делу не поможет — быстрая утечка зарядов обусловлена наличием транзистора, который состоит вовсе не из изолятора, а из хоть и полу-, но проводника, потому даже в запертом виде имеет мизерные, но конечные токи утечки. В паре с неизбежно маленькой емкостью самого конденсатора это и приводит к очень быстрому разряду (и токи утечки, и емкости измеряются в единицах с приставкой «пико»). В идеале следовало бы конденсатор изолировать полностью, но как тогда его перезаряжать при записи информации?Замечательное изобретение сотрудника Intel Дона Фрохмана как раз и состояло в том, что он придумал, как это сделать. Но сначала давайте посмотрим, как работает сконструированный им полевой транзистор с плавающим затвором при чтении информации.
На рис. 3
представлено устройство элементарной ячейки, лежащей в основе всех современных типов флэш-памяти. Если исключить из нее «плавающий затвор», мы получим самый обычный полевой транзистор — такой же, как тот, что входит в ячейку DRAM. Если подать на управляющий затвор такого транзистора положительное напряжение, он откроется, и через него потечет ток (состояние «логическая единица»).
На рис. 4
и изображен именно такой случай, когда плавающий затвор не оказывает никакого влияния на работу ячейки, — такое состояние характерно для «чистой» флэш-памяти, в которую еще ни разу ничего не записывали.
Если же мы каким-то образом ухитримся разместить на плавающем затворе некоторое количество зарядов — свободных электронов (на рис. 3 они показаны в виде красненьких кружочков), — то они будут экранировать действие управляющего электрода, и такой транзистор вообще перестанет проводить ток. Это состояние — «логический ноль» 8 . Поскольку затвор «плавает» в толще изолятора (двуокиси кремния, SiO2), то сообщенные ему однажды заряды в покое никуда деться не могут. И записанная таким образом информация может храниться десятилетиями (производители обычно давали гарантию 10 лет, но на практике это время значительно больше).
Осталось всего ничего — придумать, как размещать заряды на изолированном от внешних влияний плавающем затворе. И не только размещать — ведь иногда память приходится и стирать, — поэтому должен существовать способ извлекать их оттуда. В первых образцах EPROM (UV-EPROM — тех самых, что стирались ультрафиолетом) слой окисла между плавающим затвором и подложкой был достаточно толстым (если, конечно, величину 50 нанометров можно охарактеризовать словом «толстый»), и работало все это довольно грубо. При записи на управляющий затвор подавали достаточно высокое положительное напряжение — до 36—40 В (что для микроэлектронной техники считается просто катастрофическим перенапряжением), а на сток транзистора — небольшое положительное. При этом электроны, которые двигались от истока к стоку, настолько ускорялись полем управляющего электрода, что барьер в виде изолятора между подложкой и плавающим затвором просто «перепрыгивали». Такой процесс называется еще инжекцией горячих электронов.
Ток заряда при этом достигал миллиампера — можете себе представить, каково было потребление всей схемы, если в ней одновременно заряжать хотя бы несколько тысяч ячеек. И хотя такой ток требовался на достаточно короткое время (хотя с точки зрения быстродействия схемы не такое уж и короткое — миллисекунды), это было крупнейшим недостатком всех старых образцов EPROM-памяти. Еще хуже другое — и изолятор, и сам плавающий затвор такого «издевательства» долго не выдерживали, постепенно деградируя, отчего количество циклов записи/стирания было ограничено несколькими сотнями, максимум — тысячами. Во многих образцах флэш-памяти (даже более поздних) была предусмотрена специальная схема для хранения карты «битых» ячеек — в точности так, как это делается в жестких дисках. В современных моделях такая карта, кстати, тоже имеется — однако число циклов стирания/записи возросло до сотен тысяч и даже миллионов.
Теперь посмотрим, как осуществлялось в этой схеме стирание. В упомянутой UV-EPROM при облучении ультрафиолетом фотоны высокой энергии сообщали электронам на плавающем затворе достаточный импульс, чтобы они «прыгали» обратно на подложку самостоятельно, без каких-либо электрических воздействий. А Джордж Перлегос использовал «квантовый эффект туннелирования Фаулера-Нордхейма» (Fowler-Nordheim) в электрически стираемой памяти (EEPROM). За непонятным названием кроется довольно простое (но очень сложное с физической точки зрения), по сути, явление: при достаточно тонкой пленке изолятора (10 нм) электроны, если их слегка «подтолкнуть» не слишком высоким напряжением в нужном направлении, могут «просачиваться» через барьер, не перепрыгивая его. Процесс показан на рис. 4 (обратите внимание на знак напряжения на управляющем электроде).
Старые образцы EEPROM именно так и работали: запись производилась горячей инжекцией, а стирание — квантовым туннелированием. Оттого они были довольно сложны в эксплуатации; разработчики со стажем помнят, что первые микросхемы EEPROM требовали два, а то и три питающих напряжения, причем подавать их при записи и стирании требовалось в определенной последовательности. Мало того, цена таких чипов была почти запредельной — автор сам покупал в середине 1990-х полумегабитную (то есть 64-килобайтную) энергонезависимую память по $30 за микросхему. Не забудьте и про «битые» ячейки, возникновение которых в процессе эксплуатации приходилось все время отслеживать. Неудивительно, что разработчики предпочитали использовать более дешевую, удобную, скоростную и надежную статическую память (SRAM), пристраивая к ней резервное питание от литиевых батареек, которые к тому времени уже достаточно подешевели. На этой волне компания Dallas Semiconductor даже выпустила специальный тип NVRAM с батарейкой, встроенной прямо в микросхему.
Превращение EEPROM во Flash происходило по трем разным направлениям. Во-первых, усовершенствовалась конструкция самой ячейки. Для начала избавились от самой противной стадии — «горячей инжекции». Вместо нее при записи стали также использовать квантовое туннелирование, как и при стирании.
На рис. 5
показан этот процесс — если при открытом транзисторе подать на управляющий затвор достаточно высокое (но значительно меньшее, чем при «горячей инжекции») напряжение, часть электронов, двигающихся через открытый транзистор от истока к стоку, «просочится» через изолятор и окажется на плавающем затворе. Потребление тока при записи снизилось на несколько порядков. Изолятор, правда, пришлось сделать еще тоньше, что обусловило довольно большие трудности с внедрением этой технологии в производство.
Во-вторых, ячейку сделали несколько сложнее, пристроив к ней второй транзистор (обычный), который разделил вывод стока и считывающую шину всей микросхемы. Благодаря этому (вместе с отказом от горячей инжекции) удалось добиться значительного повышения долговечности — до сотен тысяч, а в настоящее время — до миллионов 9 циклов записи/стирания. Кроме того, схемы формирования высокого напряжения и соответствующие генераторы импульсов записи/стирания перенесли внутрь микросхемы, отчего пользоваться такими типами памяти стало несравненно удобнее — они стали питаться от одного напряжения (5 или 3,3 В).
И наконец, в-третьих, изменилась организация доступа к ячейкам на кристалле, вследствие чего этот тип памяти и заслужил наименование flash, «молния».
Регенерация памяти
Впервые принцип DRAM — хранение информации на конденсаторах с периодической регенерацией — применил еще Дж. Атанасов в своем первом компьютере ABC (1941 г.). А зачем вообще нужна регенерация? Дело в том, что ввиду микроскопических размеров конденсатора (и, соответственно, емкости) в ячейке DRAM записанная информация хранится всего лишь сотые доли секунды. Несмотря на использование высококачественных диэлектриков с огромным электрическим сопротивлением, заряд, состоящий в рядовом случае всего из нескольких сотен, максимум тысяч электронов, успеет утечь так быстро, что вы и глазом моргнуть не успеете.В первых моделях IBM РС регенерация осуществлялась каждые 15 мкс по сигналу системного таймера. Естественно, в таком решении было много подводных камней — во-первых, регенерация всей памяти занимала много времени, в течение которого ПК был неработоспособен. Потому-то сигнал на регенерацию и подавался с такой большой частотой — каждый раз проверялась всего 1/256 памяти, так что полный цикл восстановления занимал около 3,8 мс. Во-вторых, такое решение потенциально опасно: любая зловредная программа спокойно могла остановить системный таймер, отчего компьютер уже через несколько миллисекунд впадал в полный ступор. Современные микросхемы DRAM занимаются восстановлением данных самостоятельно, да еще и так, чтобы не мешать основной задаче — процессам чтения/записи.
Flash — значит быстрый
Процесс обновления информации в микросхемах EEPROM был очень медленным. Во-первых, каждую ячейку требовалось сначала стереть — ведь запись, то есть помещение на плавающий затвор зарядов, лишь приводило ее в состояние «логического ноля», а восстанавливать «логическую единицу» нужно было отдельно. Во-вторых, из-за большого потребления тока в процессе горячей инжекции каждую ячейку приходилось записывать фактически отдельно, а так как этот процесс занимал миллисекунды, то для перезаписи даже сравнительно небольших массивов (например, тех же 64 Кбайт) уходили уже секунды.Между тем требовались все большие емкости долговременной памяти. Усовершенствование процедур записи и стирания ускорило процесс, но все же в сравнении с обычными DRAM и SRAM энергонезависимая память принципиально проигрывала в быстродействии. Правда, проигрывает и по сей день — только в последние годы (если не сказать месяцы) появилась надежда, что в будущем вся память компьютеров станет энергонезависимой. Еще совсем недавно «флэшки» уступали в «скорострельности» даже жестким дискам, не то что DRAM — иначе откуда бы взяться таким устройствам, как IBM Microdrive? Давайте посмотрим, как поступили разработчики во главе с Фуджио Масуока, придумывая то, что получило название флэш-память.
Они решили, что раз потребление при записи удалось снизить, то можно записывать ячейки не индивидуально, а блоками — чем крупнее блок, тем быстрее получится. В этой схеме некий массив данных готовится заранее (помещается в специальный временный буфер SRAM — на том же кристалле, что и основная память), затем все нужные ячейки разом стираются, и одновременно же в них записывается информация из буфера. Недостатком такого метода стала необходимость перезаписи целого блока, даже если нужно изменить только один бит в одной-единственной ячейке. Но на практике это не вырастает в проблему — основные задачи, которые выполняет энергонезависимая память в современном мире, как раз и заключаются в разовой записи больших массивов (цифровые камеры, плееры и т.п.). Вот такая разновидность EEPROM и стала называться flash — за многократно выросшую скорость записи информации, ставшей сравнимой со скоростью чтения.
NAND и NOR
По-русски это расшифровывается, как название логических функций — «И-НЕ» и «ИЛИ-НЕ». Термины пришли из схемотехники и прижились в словаре маркетологов. Определяют они принципы соединения ячеек между собой, что отражает довольно существенную разницу и в устройстве, и в функционировании модулей памяти. В некотором роде это напоминает деление фотографических матриц на CCD и CMOS, и, как и в случае с матрицами, разница между типами NAND и NOR постепенно нивелируется.Первая микросхема флэш-памяти, выведенная на рынок компанией Intel в 1988 году (32 Кбайта, примерно по $20 за штуку), имела организацию NOR (рис. 6).
Подобная структура была у всех ранних типов EPROM. Здесь все просто: как и в DRAM, ячейки в строках матрицы соединены управляющими затворами («линии слов»), а в столбцах — считывающими линиями, которые здесь носят наименование «линии бит». Собственно, схему организации DRAM при желании можно также обозвать «схемой NOR». Доступ, как при чтении, так и при записи, возможен индивидуально к каждой ячейке. Благодаря такому построению, NOR имеет возможность очень быстрого считывания (в том числе, на выбор, любого бита или байта!), но скорость записи, которая по большей части обеспечивается искусственным соединением подобных матриц в блоки, у нее подкачала. Вследствие этих свойств NOR-разновидность незаменима в тех случаях, когда требуется быстрое выборочное чтение, а акты перезаписи сравнительно редки — в микросхемах BIOS, SIM-картах, встроенной памяти микроконтроллеров и т. п.
В 1989 году на рынке появилась первая флэш-память NAND-разновидности фирмы Toshiba. Ее структура показана на рис. 6, и как можно видеть, она значительно отличается от NOR. Начнем с того, что сами ячейки построены иначе, хотя и содержат все тот же транзистор с плавающим затвором.
На рис. 7
дана схема расположения этих компонентов на кристалле (элементарная ячейка обведена красным пунктиром) — как видите, с точки зрения производства NAND проще и занимает заметно меньше места, чем NOR. Чтение в ней происходит по-другому. Если в NOR следует подавать по очереди на линии слов высокий уровень напряжения («логическая единица»), и считывать значения с линий бит индивидуально для каждой ячейки, то в NAND наоборот, сначала все транзисторы данной конструкции следует открыть подачей напряжения высокого уровня на линии слов, а потом по очереди закрывать их подачей низкого уровня («логический ноль»).
Транзисторов-ячеек в NAND может быть от 16 до 32, но обычно их объединяют в блоки по 512 байт, которые и читаются и записываются только целиком. 512 байт — обычная величина сектора на жестком диске, также считываемого и записываемого целиком за один раз 10 . Эти блоки могут объединяться и в бульшие образования — страницы. Все это указывает на основное назначение NAND-технологии — построение систем хранения файлов. Практически все современные карты памяти, основным назначением которых и является хранение больших массивов информации за одно обращение, построены на флэш-памяти типа NAND. При чтении таких массивов первое обращение — довольно долгое (по сравнению с NOR), а вот далее данные идут широким потоком, почти не прерываясь. В последнее время даже Intel, стойко придерживавшаяся политики усовершенствования NOR-разновидности, «сдалась» и совместно с Micron занялась разработкой карт на основе NAND-чипов.
Термины и аббревиатуры
NOR— организация ячеек флэш-памяти по принципу логической функции «ИЛИ-НЕ»: индивидуальный доступ к каждому биту и большая скорость чтения, но и большие размеры ячейки и малое быстродействие при записи.
NAND— организация ячеек по принципу логической функции «И-НЕ»: высокое быстродействие при записи и компактность, но чтение и запись информации — только блоками.
SLC(single-level cell) — одноуровневая ячейка: традиционное построение флэш-памяти с возможностью хранения одного бита в одной ячейке.
MLC(multi-level cell) — многоуровневая ячейка: флэш-память (как nor, так и NAND), построенная таким образом, чтобы можно было хранить два и более бит в одной ячейке.
OneNAND— технология, разработанная samsung, совмещает функцию высокоскоростного считывания информации NOR— и компактность NAND-flash.
LBA-NAND (logical block addressing nand) — улучшенная структура NAND-чипа компании Toshiba, позволяющая иметь единое адресное пространство независимо от объема применяемой «флэшки».
DINOR(divided bit-line nor) — структура nor с разделенными разрядными линиями, разработанными компанией Hitachi.
А дальше?
Все, что рассказано выше, касалось классической флэш-памяти. А все эти Extreme III, Ultra или PRO-карточки, которые заполонили наши прилавки, — это флэш-память следующих поколений.Собственно, принципиально нового со времен Фуджио Масуоки было только одно: разработчики учли то, что информация в ячейке хранится в аналоговой форме — в виде некоторого количества электронов (порядка 1000). Если использовать деление на несколько градаций и строго дозировать электроны при записи, можно в одной ячейке хранить не один (классическая схема), а сразу много бит информации. Так появились многоуровневые ячейки — MLC. У фирмы Intel это называется технология StrataFlash, у AMD и Fujitsu (Spansion — их совместное предприятие) — MirrorBir, у израильской фирмы Saifun (у которой, судя по итогам судебного процесса, AMD и Fujitsu заимствовали свой MirrorBir) — NROM, у Toshiba и M-Systems — просту х2 или х4 (смотря по тому, сколько бит хранится в ячейке). И хотя технология и схемотехника такой памяти гораздо сложнее, выигрыш очевиден — возрастает плотность упаковки. Кроме того, можно применить так называемую многочиповую упаковку (MCP — multi-chip packages), в чем особенно преуспела Samsung. Теперь вам понятно, откуда чуть ли не каждые полгода появляются объявления о начале производства NAND-микросхем с удвоенной емкостью?
Однако пользователя, кроме емкости устройств, интересует и скорость чтения/записи. Собственно, оставаясь в рамках классической компоновки, даже для наиболее быстрой в плане чтения NOR невозможно достичь скорости более 10—20 Мбайт/с. С ужесточением технологических норм (сейчас флэш-память делают по 60-нанометровой технологии), эта скорость может вырасти еще, но сами понимаете, это не выход.
Указанные скорости подтягивают флэш до уровня жестких дисков, и вполне приемлемы для записи информации в современных гаджетах. Посчитайте сами — Nikon анонсирует 10-мегапиксельную зеркалку любительского класса. Чтобы записать RAW-кадр с такой матрицы в режиме непрерывной съемки хотя бы три раза в секунду, требуется быстродействие памяти на уровне как минимум 60 Мбайт/с! И сколько буферной RAM в аппарат не запихивай, она довольно скоро закончится — камера все же не настольный ПК. Отсюда и насущная потребность в быстрой и емкой флэш-памяти.
Отмечу лишь одно из наиболее востребованных направлений повышения скорости обмена с памятью — технологию OneNAND от Samsung. Объединив на одном кристалле флэш-память NAND (упакованную по технологии MCP) с буфером на основе высокоскоростной SRAM и добавив туда определенные логические схемы, компания добилась беспрецедентной скорости чтения — 108 Мбайт/с, оставив далеко позади всех. Скорость записи такой памяти, впрочем, на порядок ниже, и по разным сведениям составляет от 9,3 до 10 Мбайт/с, что, конечно, здорово (примерно в 60 раз быстрее классической NOR), но все же далеко от идеала. У компании Micron есть аналогичная технология — Managed NAND — она основана на интеграции контроллера для карт памяти MMC и потому годится для производства только этой разновидности.
Светлое будущее…
Вероятно, что традиционные технологии флэш-памяти очень скоро упрутся в некую стену. Где же выход? О, этих выходов предлагается сколько угодно, но — пока только в стенах лабораторий. Перечислим некоторые перспективные разработки ученых и технологов.Прежде всего это FeRAM и MRAM — технологии, использующие магнитные свойства веществ (ферроэлектрический и магниторезистивный эффекты соответственно). Надо сказать, принцип построения твердотельной памяти на основе физических эффектов магнитных явлений привлекает ученых не первый десяток лет — подобная память должна иметь крайне высокую радиационную стойкость. В настоящее время агентство DARPA* финансирует компанию Honeywell, которая взялась за разработку MRAM. Участвует в этом процессе и Motorola. По сути, предлагается использовать обычную ячейку DRAM (рис. 3), заменив в ней конденсатор на магниторезистивный материал. В идеале это позволит получить аналог обычной оперативной памяти, только без потери информации при выключении питания. Хотя и отчеты поступают регулярно, и содержание их весьма оптимистично, но многолетняя история вопроса все же заставляет задуматься. С другой стороны, в истории техники бывало всякое: вот небольшая компания Cypress Semiconductor уже выпускает модули MRAM небольшой емкости, сравнимые по своим параметрам с SRAM-разновидностью.
Корпорация Fujitsu еще в 2003 году сообщила о разработке модификации традиционной ячейки EPROM, время записи в которой сильно уменьшено — в основном за счет предельного уменьшения толщины слоя изолятора между плавающим затвором и подложкой (до 3 нм). Однако, вместе с тем резко сократилось и время хранения информации — с нескольких десятков лет до месяцев. Судя по тому, что никаких сенсационных новостей с этого фронта не поступает, с этой проблемой пока не удается справиться.
Другой, гораздо более интересной разработкой стала технология PMC (Programmable Metallization Cell — программируемая металлизированная ячейка). Сотрудники Государственного университета Аризоны совместно с компанией Axon Technologies «заставили» халькогенидный сплав под действием небольшого напряжения обратимо менять электрическое сопротивление более чем в сто раз! Причем наличие напряжения требуется только в процессе программирования, в остальное время проводящее (или непроводящее) состояние может сохраняться хоть столетиями. Столь же рекордны и остальные параметры — перепрограммирование занимает 10 нс (сравнимо с DRAM), предельное количество циклов перезаписи — 1013 (столько не живут!), рабочее напряжение — 3 В и ниже, ток перезаписи — от 1 мкА… Напомним, что технология PMC буквально создана для реализации многоуровневых ячеек (MLC). В общем, все здорово, но где же обещанная революция? Поживем — увидим.
Ну и, конечно, нельзя обойти нанотехнологии — куда же без них! Здесь есть несколько многообещающих направлений. Так, Motorola предлагает использовать нанокристаллы для формирования плавающего затвора. В идеале суть такого подхода заключается в выражении «1 бит — 1 электрон», что позволит перейти к теоретически максимальной плотности записи данных. Но это, скорее, далекое будущее. Другое направление, разрабатываемое компанией Nantero, уже ближе к реальной жизни. Компания сообщила об изготовлении и удачном тестировании памяти на основе углеродных нанотрубок (NRAM). По скорости перезаписи (3 нс) NRAM превосходит все сегодняшние устройства памяти, при этом являясь энергонезависимой. Мало того, Nantero проработала и технологический процесс изготовления такой памяти, уверяя, что для ее производства годится стандартное оборудование, что внушает некоторый оптимизм — и в первую очередь потому, что подобные сообщения исходят не только от Nantero. А значит технология действительно перспективная.