Журнал Компьютерра - Журнал "Компьютерра" N733
Осталось всего ничего - придумать, как размещать заряды на изолированном от внешних влияний плавающем затворе. И не только размещать - ведь иногда память и стирать приходится, потому должен существовать способ извлекать данные оттуда. В первых образцах EPROM (UV-EPROM - тех самых, которые стирались ультрафиолетом) слой окисла между плавающим затвором и подложкой был толстым (если, конечно, величину 50 нм можно охарактеризовать словом "толстый"), и при записи на управляющий затвор подавали довольно высокое положительное напряжение - до 40 В, а на сток транзистора - небольшое положительное. При этом электроны, двигавшиеся от истока к стоку, настолько ускорялись полем управляющего электрода, что перепрыгивали барьер в виде изолятора между подложкой и плавающим затвором. Такой процесс называется еще "инжекцией горячих электронов".
Ток заряда при этом достигал миллиампера - можете себе представить, сколько потребляла схема, если в ней одновременно заряжалось хотя бы несколько тысяч ячеек. И хотя такой ток требовался на короткое время (впрочем, с точки зрения быстродействия схемы не такое уж и короткое - миллисекунды), но большое потребление было крупным недостатком всех старых образцов EPROM-памяти. Но еще хуже, что и изолятор, и плавающий затвор такого издевательства долго не выдерживали и постепенно деградировали, отчего количество циклов стирания-записи не превышало нескольких сотен, максимум - тысяч.
В электрически стираемой памяти Джордж Перлегос использовал "квантовый эффект туннелирования Фаулера-Нордхейма". За этим непонятным названием кроется довольно простое по сути (но очень сложное с физической точки зрения) явление: при достаточно тонкой пленке изолятора (ее толщину пришлось уменьшить с 50 до 10 нм) электроны, если их слегка подтолкнуть подачей не слишком высокого напряжения в нужном направлении, могут просачиваться через барьер, не перепрыгивая его. В EEPROM образца 1980-х запись производилась "горячей инжекцией", а стирание - "квантовым туннелированием". Оттого микросхемы эти были довольно сложны в эксплуатации - разработчики со стажем помнят, что первые микросхемы EEPROM требовали два, а то и три питающих напряжения, причем подавать их при записи и стирании требовалось в определенной последовательности.
Превращение EEPROM во flash шло по трем направлениям. В первую очередь избавились от самой противной стадии - "горячей инжекции", вместо которой при записи стали использовать "квантовое туннелирование", как и при стирании. Благодаря этому потребление тока при записи снизилось на несколько порядков. Изолятор, правда, пришлось сделать еще тоньше, что вызвало большие трудности с внедрением этой технологии в производство.
Второе направление - ячейку усложнили, пристроив к ней второй транзистор, который разделил вывод стока и считывающую шину всей микросхемы. Благодаря этим мерам удалось значительно повысить долговечность чипа - до сотен тысяч, а в настоящее время и до миллионов[Правда, при условии использования схем коррекции ошибок.] циклов записи/стирания. Кроме того, схемы формирования высокого напряжения и соответствующие генераторы импульсов записи/стирания перенесли внутрь микросхемы, отчего пользоваться этими типами памяти стало несравненно удобнее - теперь они питались от одного напряжения (5 или 3,3 В).
И наконец, третье, чуть ли не самое главное усовершенствование заключалось в изменении организации доступа к ячейкам на кристалле, вследствие чего этот тип памяти и заслужил наименование flash, то есть "молния".
Flash - значит быстрыйОбновление информации в микросхемах EEPROM - страшно медленный процесс. Во-первых, каждую ячейку требуется сначала стереть - ведь запись, то есть помещение на плавающий затвор зарядов, лишь приводит ее в состояние "логического 0", а восстанавливать "логическую 1" приходится отдельно. Во-вторых, из-за большого потребления тока в процессе "горячей инжекции" каждую ячейку приходится записывать фактически отдельно, а так как этот процесс занимал миллисекунды, то для перезаписи даже сравнительно небольших массивов требовались уже секунды.
Разработчики во главе с упомянутым Фуджио Масуокой решили, что раз потребление при записи удалось снизить, то можно записывать ячейки не индивидуально, а целыми блоками - и тем быстрее, чем крупнее блок. В этой схеме некий массив данных готовится заранее (помещается в специальный временный буфер SRAM, который обычно имеется на том же кристалле, что и основная память), затем все нужные ячейки разом стираются, и разом же в них записывается информация из буфера. Недостатком этого метода стала необходимость перезаписи целого блока, даже если нужно изменить только один бит в одной-единственной ячейке. Но на практике это не вырастает в проблему - основные задачи, которые выполняет энергонезависимая память в современном мире, как раз и заключаются в записи сразу огромных массивов потоковым методом. Вот такая разновидность EEPROM и получила название "flash" - за многократно выросшую скорость записи информации, которая стала сравнима со скоростью чтения.
NAND и NORNAND и NOR - англоязычный эквивалент логических функций "И-НЕ" и "ИЛИ-НЕ". Пришедшие из схемотехники, эти термины описывают два разных принципа логического соединения ячеек - отсюда существенная разница и в устройстве, и в функционировании модулей памяти. Первая микросхема flash-памяти, выведенная на рынок компанией Intel в 1988 году (емкостью 32 Кбайт, примерно по $20 за штуку), имела организацию NOR (рис. 4 слева). Все ранние типы EPROM тоже имели подобную структуру. Здесь все просто, как и в DRAM: ячейки в строках матрицы соединены управляющими затворами ("линии слов"), а в столбцах - считывающими линиями, которые здесь носят наименование "линии бит".
В 1989 году Toshiba вывела на рынок первую flash-память NAND-разновидности. Ее структура показана на рис. 4 справа и, как видите, значительно отличается от NOR. Ячейки здесь хоть и содержат все тот же транзистор с плавающим затвором, построены иначе. С точки зрения производства, NAND проще и занимает заметно меньше места, чем NOR. Транзисторов-ячеек в каждой конструкции NAND может быть от 16 до 32 штук, но обычно их объединяют в блоки по 256 или 512 байт, которые читаются и записываются только целиком (512 байт - обычная величина сектора на жестком диске). Иногда блоки имеют нестандартную емкость - например, 264 байта ("лишние" 8 байт могут использоваться для хранения контрольной суммы, с целью повышения надежности операций чтения). Блоки могут объединяться и в большие образования - страницы.
Все это сразу указывает на основное назначение NAND-технологии - для построения систем хранения файлов. В последнее время даже Intel, стойко придерживавшаяся линии на усовершенствование NOR-разновидности, сдалась и совместно с Micron занялась разработкой карт на основе NAND-чипов. NAND сейчас доминирует в области скоростных и емких карт памяти, но и NOR в некоторых областях живет и здравствует (она незаменима, если требуется быстрое выборочное чтение, а акты перезаписи сравнительно редки - во flash-BIOS, SIM-картах, встроенной памяти программ микроконтроллеров и тому подобных применениях).
Дальше, выше, быстрееСо времен Фуджио Масуоки принципиальная придумка в области технологий была только одна: разработчики воспользовались тем, что в ячейке информация хранится, по сути, в аналоговой форме - в виде некоторого количества электронов (кстати, всего лишь около тысячи штук). Если поделить это количество на несколько градаций и строго дозировать электроны при записи, то в одной ячейке можно хранить не один, как в классической схеме, а сразу много бит информации. Так появились многоуровневые ячейки (multi-level cells, MLC). И хотя схемотехника и изготовление такой flash-памяти гораздо сложнее, но выигрыш очевиден - плотность упаковки возрастает многократно. Кроме того, можно применить так называемую многочиповую упаковку (multi-chip packages, MCP), в чем особенно преуспела Samsung.
Но конечного пользователя, кроме емкости устройств, очень волнует скорость чтения/записи. Собственно, оставаясь в рамках классической компоновки, даже для наиболее быстрой в плане чтения NOR-разновидности невозможно достичь скоростей, превышающих 10-20 Мбайт/с (при этом запись будет осуществляться куда медленнее). С ужесточением технологических норм (а сейчас flash-память делают уже по 60-нанометровой технологии) скорость может еще вырасти, но сами понимаете, это не принципиальный выход. Эти скорости, конечно, приближают flash к уровню жестких дисков и приемлемы для записи объемов информации сегодняшних гаджетов (завтра, ясное дело, уже будет не хватать), но для того, чтобы заменить жесткие диски, и тем более обогнать их по производительности, этого решительно недостаточно.
Потому производители и собственно чипов памяти, и конечных продуктов идут на все новые и новые ухищрения - увеличение числа параллельных каналов передачи данных только одно из них. Другое направление повышения скорости обмена - технология OneNAND фирмы Samsung. Объединив на кристалле flash-память типа NAND (притом упакованную по технологии MCP) с буфером на основе высокоскоростной SRAM и добавив некие логические схемы, компания добилась беспрецедентной скорости чтения: 108 Мбайт/с. Скорость записи, впрочем, на порядок ниже и, по разным источникам, составляет от 9,3 до 10 Мбайт/с - что тоже очень здорово (примерно в шестьдесят раз быстрее классической NOR), но все же далеко от идеала. Дабы повысить скорость записи, приходится снабжать карты и flash-диски большими объемами буферной SRAM и специальными контроллерами, управляющими всем этим процессом.