Те самые флешки, к которым мы все уже давно привыкли, хранят в наших компьютерах, телефонах, да и просто обособленно большое количество информации. Однако многие из нас даже не задумывались как же все это хранится в такой памяти, как записывается и стирается. Эта вот статья как раз и будет о ячейках памяти. Ведь если понять, как работает одна ячейка, то можно говорить об общих принципах хранения и большого количества информации. Здесь разве что надо будет представлять большой массив из элементарных ячеек.
Итак, флэш (Flash) EEPROM память гораздо ближе по своей природе к постоянным запоминающим устройствам, чем к оперативной памяти. Ячейки памяти стираемые и записываемые, то есть перезаписываемые микросхемы памяти на основе полевых транзисторов с дополнительным изолированным затвором FG FET (Floating-Gate Field Effect Transistor) известны достаточно давно.
Весь процесс пропускания или закрытия (логических состояний) такого транзистора сводится к созданию в зоне изолированного затвора обособленного заряда. При этом такой затвор изолирован диэлектриками, то есть для перепрограммирования требует повышенного потенциала. В итоге электрический заряд может создать электрическое поле. Именно оно и позволит полностью запереть транзистор, то есть закрыть канал между истоком (Source) и стоком (Drain), либо полностью открыть транзистор, то есть открыть канал между истоком и стоком.
Именно так и работают полевые транзисторы, с одним исключением, что заряд у них полностью зависит от истока и не имеет изолированного затвора, способного хранить определенный потенциал.
Именно так и реализована отдельная ячейка флэш-памяти.
Если говорить о технологическом исполнении, то не существует никаких различий между истоком и стоком. Поэтому такие транзисторы-ячейки также называют униполярными. Что относительно особенностей, то заряд на изолированном затворе препятствует воздействию основного поля, а отсутствие заряда разрешает обычный режим транзистора. Изолированный затвор потому и называется изолированным, часто применяется понятие "плавающий", что позволяет сохранять заряд даже при выключенном питании. Именно поэтому память на основе транзисторов FG (MOS)FET является энергонезависимой (nonvolatile).
Именно наличие или отсутствие заряда на изолированном затворе можно интерпретировать как два различных логических состояния, то есть транзистор может стать ячейкой памяти для хранения одного бита информации.
В итоге получается так, основной затвор служит для выборки ячейки памяти среди нескольких ячеек, подключенных к одной линии данных, а уровень заряда на изолированном затворе определяет состояние ячейки памяти.
Процесс стирания и записывания информации в память EEPROM
В прошлом процесс стирания данных во всех ячейках UV-EPROM производилось за счет воздействия на изолированные затворы ультрафиолетового освещения через специальное окошко из кварцевого стекла на корпусе микросхемы.
Уменьшение толщины диэлектрика между изолированным затвором и подложкой (истоком) позволило использовать эффект туннельного перехода. В итоге от этого варианта ушли, обеспечив стирание за счет электрических импульсов, то есть по схеме ячейки памяти описанной выше. Здесь правда возникли другие проблемы, это слишком большое время разряда изолированного затвора. Все это объясняется необходимостью насыщать зону изолированного затвора через диэлектрик. В итоге на программирование (заряд) уходило менее 1 мс, а на стирание (разряд) — менее 1 с. Это довольно долго!
Принципы ускорения стирания памяти в современных ячейках памяти
Повысить производительность позволила простая и понятная идея японца Фуджио Масуока (Fujio Masuoka).
Суть программирования изолированных затворов сводилась к тому, чтобы программировать по одному, а стирать — группами. Эта концепция была названа Flash по аналогии с фотовспышкой при фотосъемке. Именно эту приставку и используют по сей день произнося флеш-память.
Название предложено коллегой Масуоки, а именно Ариизуми (Ariizumi), который был поражен быстротой операции группового стирания. Ячейки (транзисторы) флэш-памяти были соединены последовательно, в цепочку. В этом случае логическая организация памяти называется NAND (Not AND; элемент НЕ-И).
Также ячейки памяти можно соединить параллельно и получить логическую схему NOR (Not OR, НЕ-ИЛИ).
Тот или другой выбор определенные ограничения на технологию: в архитектуре NOR для программирования обычно используется процесс инжекции «горячих» электронов (hot-electron injection), а для стирания — механизм туннельного перехода Фаулера-Нордхейма (Fowler-Nordheim tunneling).
В памяти типа NAND этот туннельный переход электронов используется как для программирования, так и для стирания. Логическая структура флэш-памяти определяет используемые методы программирования и стирания ячейки.
Флэш-память типа NOR похожа на обычную оперативную память, так как обладает внешним интерфейсом с произвольным доступом по шинам адреса и данных, а память типа NAND больше напоминает дисковый накопитель с блочным доступом SSD. Причем при существенно большей скорости чтения данных память NOR имеет значительно меньшую скорость стирания и несколько меньшую скорость записи в сравнении с NAND. Однако память NOR позволяет исполнять записанный код, а программы из NAND перед исполнением всегда приходится перегружать в оперативную память. Ячейка флэшпамяти NAND имеет значительно меньшие размеры в сравнении с памятью NOR. Между тем, при прочих равных условиях ячейка памяти NOR занимает на кристалле площадь 10F2 , а ячейка памяти NAND — 4F2.
NAND обладает в 2,5 раза большей емкостью, чем NOR. Хотя первоначально была более распространена память NOR в виде оперативной памяти носимых устройств, сегодня широкое применение получила память NAND в виде карт памяти (SD, CompactFlash или MemoryStick) или твердотельных накопителей (Solid State Drive, SSD).
Тенденции развития для ячеек памяти
Следующей прогрессивной идеей стал метод хранения на изолированном затворе нескольких уровней заряда — Multiple-Valued Level (MVL). Суть этой идеи в том, чтобы распознавать несколько уровней заряда изолированного затвора (а не просто состояние «заряжен/разряжен») и, тем самым, записывать в транзистор (ячейку памяти) не один, а несколько битов, в несколько раз увеличивая емкость хранения. Метод MVL применяется в NOR и NAND, но наиболее популярен в памяти типа NAND, где называется MultiLevel Cell (MLC, многоуровневые ячейки; точнее: ячейки с многоуровневым кодированием или ячейки с многоуровневым состоянием заряда). Современные микросхемы MLC NAND работают с четырьмя уровнями заряда, то есть позволяют хранить 2 бита информации, но на подходе микросхемы памяти с 3 и 4 битами на ячейку. Соответственно, обычная память NAND называется Single-Level Cell NAND (SLC). Для создания нескольких уровней заряда обычно используют более точные схемы управления программированием или пошаговую накачку за несколько последовательных операций программирования с более простой схемой управления.
Сами понимаете, что использование одной ячейки для хранения большего количества информации способно сэкономить на производстве и габаритах. Однако здесь не все так гладко. Доступ через управляющий контроллер к ячейкам MLC NAND должен обеспечить через себя больший трафик, чем при работе с SLC NAND. В итоге более дешевая (или с большей емкостью) микросхема MLC NAND будет «тормозить» при воспроизведении видео либо почти на часы «задумается» при записи большого числа маленьких файлов.
В технологическом аспекте память SLC NAND проще MLC NAND, поэтому при переходе на новую технологическую норму сначала появляется память SLC NAND, а затем MLC NAND. Задержка примерно равна интервалу перехода на новую норму допуска, то есть SLC всегда на одно поколение опережает MLC, и на рынке всегда присутствуют микросхемы SLC и MLC с одинаковой емкостью, но изготовленные с разными технологическими нормами.
Напоследок осталось сказать, что мир не остановился и технологии развиваются. И очень интересно как же сложится будущее современных устройств хранения информации...