В электрически стираемой памяти Джордж Перлегос использовал "квантовый эффект туннелирования Фаулера-Нордхейма". За этим непонятным названием кроется довольно простое по сути (но очень сложное с физической точки зрения) явление: при достаточно тонкой пленке изолятора (ее толщину пришлось уменьшить с 50 до 10 нм) электроны, если их слегка подтолкнуть подачей не слишком высокого напряжения в нужном направлении, могут просачиваться через барьер, не перепрыгивая его. В EEPROM образца 1980-х запись производилась "горячей инжекцией", а стирание - "квантовым туннелированием". Оттого микросхемы эти были довольно сложны в эксплуатации - разработчики со стажем помнят, что первые микросхемы EEPROM требовали два, а то и три питающих напряжения, причем подавать их при записи и стирании требовалось в определенной последовательности.
Превращение EEPROM во flash шло по трем направлениям. В первую очередь избавились от самой противной стадии - "горячей инжекции", вместо которой при записи стали использовать "квантовое туннелирование", как и при стирании. Благодаря этому потребление тока при записи снизилось на несколько порядков. Изолятор, правда, пришлось сделать еще тоньше, что вызвало большие трудности с внедрением этой технологии в производство.
Второе направление - ячейку усложнили, пристроив к ней второй транзистор, который разделил вывод стока и считывающую шину всей микросхемы. Благодаря этим мерам удалось значительно повысить долговечность чипа - до сотен тысяч, а в настоящее время и до миллионов[Правда, при условии использования схем коррекции ошибок.] циклов записи/стирания. Кроме того, схемы формирования высокого напряжения и соответствующие генераторы импульсов записи/стирания перенесли внутрь микросхемы, отчего пользоваться этими типами памяти стало несравненно удобнее - теперь они питались от одного напряжения (5 или 3,3 В).
И наконец, третье, чуть ли не самое главное усовершенствование заключалось в изменении организации доступа к ячейкам на кристалле, вследствие чего этот тип памяти и заслужил наименование flash, то есть "молния".
Flash - значит быстрый
Обновление информации в микросхемах EEPROM - страшно медленный процесс. Во-первых, каждую ячейку требуется сначала стереть - ведь запись, то есть помещение на плавающий затвор зарядов, лишь приводит ее в состояние "логического 0", а восстанавливать "логическую 1" приходится отдельно. Во-вторых, из-за большого потребления тока в процессе "горячей инжекции" каждую ячейку приходится записывать фактически отдельно, а так как этот процесс занимал миллисекунды, то для перезаписи даже сравнительно небольших массивов требовались уже секунды.
Разработчики во главе с упомянутым Фуджио Масуокой решили, что раз потребление при записи удалось снизить, то можно записывать ячейки не индивидуально, а целыми блоками - и тем быстрее, чем крупнее блок. В этой схеме некий массив данных готовится заранее (помещается в специальный временный буфер SRAM, который обычно имеется на том же кристалле, что и основная память), затем все нужные ячейки разом стираются, и разом же в них записывается информация из буфера. Недостатком этого метода стала необходимость перезаписи целого блока, даже если нужно изменить только один бит в одной-единственной ячейке. Но на практике это не вырастает в проблему - основные задачи, которые выполняет энергонезависимая память в современном мире, как раз и заключаются в записи сразу огромных массивов потоковым методом. Вот такая разновидность EEPROM и получила название "flash" - за многократно выросшую скорость записи информации, которая стала сравнима со скоростью чтения.
NAND и NOR
NAND и 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 байт могут использоваться для хранения контрольной суммы, с целью повышения надежности операций чтения). Блоки могут объединяться и в большие образования - страницы.
Читать дальше