Справочная информация - промэлектроника. Flash-память. Принцип работы Каждая ячейка микросхемы флэш памяти хранит

Микросхемы репрограммируемой постоянной памяти с электрическим стиранием данных, выполненные по технологии FLASH, заняли прочные позиции в электронной и вычислительной технике, потеснив другие виды энергонезависимых запоминающих устройств. Их главное достоинство - возможность перепрограммирования "в системе", не выпаивая микросхему из печатной платы или не вынимая ее из панели. Большое допустимое число циклов перепрограммирования позволяет строить на таких микросхемах "FLASH-диски" объемом в десятки мегабайт, отличающиеся от обычных накопителей на жестких или гибких магнитных дисках полным отсутствием движущихся частей. Благодаря этому они долговечны и способны работать в условиях сильной вибрации, например, на автомобилях и других движущихся объектах. Публикуемая статья посвящена вопросам программирования микросхем FLASH-памяти.

От РПЗУ других типов микросхемы FLASH-памяти отличает наличие непосредственно на кристалле встроенного "программатора" - автомата стирания и записи (АC3). Он освобождает от необходимости в процессе программирования подавать на выводы микросхемы повышенное напряжение, формировать определенные последовательности импульсов. Все это АC3 делает самостоятельно и незаметно для пользователя, которому остается лишь с помощью соответствующей команды сообщить адрес ячейки и код, который следует в нее записать, и ждать завершения операции. Во многих случаях длительную операцию (например, стирание блока данных) можно приостановить, прочитать нужную информацию из другой области памяти, а затем продолжить.

Сегодня многие фирмы (наиболее известные Intel. AMD. Atmel. Winbond) выпускают большой ассортимент микросхем FLASH-памяти объемом до 4 Мбайт. Их внешний интерфейс бывает параллельным или последовательным. Микросхемы с последовательным интерфейсом предназначены в основном для хранения небольших массивов данных в малогабаритных или специализированных устройствах, например, для запоминания фиксированных настроек радиоприемника или программы работы бытового электроприбора.

Далее речь пойдет о "параллельных" FLASH-микросхемах, которые по физическому и логическому устройству интерфейса с процессором ничем не отличаются от обычных ПЗУ за исключением того, что у них, подобно ОЗУ, имеется вход разрешения записи. Именно в таких микросхемах хранят коды BIOS современных компьютеров. Организация данных бывает восьми- или 16-разрядной. Нередко ее можно выбирать, соединяя специально предусмотренный вывод с общим проводом или источником питания. Кроме шин адреса и данных, к микросхемам подводят три управляющих сигнала: выбор кристалла (СЕ), включение выхода (ОЕ) и разрешение записи (WE). Последний - только в случае, если микросхему необходимо программировать. Минимальная длительность цикла чтения - 70... 150 нc.

В первых FLASH-микросхемах массив ячеек памяти представлял собой единый блок, причем стереть данные можно было только целиком из всего массива. Во многих современных микросхемах память разбита на блоки, и стирание данных в одном из них не влияет на хранящиеся в других. Размеры блоков бывают самыми разными - от 128 байт до 128 Кбайт и более. Однако при чтении данных вся память микросхемы рассматривается как единый массив и то. что физически она разделена на блоки, не имеет никакого значения.

Обычно блоки одинаковы и равноправны, но могут быть и разными. Например, в микросхемах серии 28Fxxx фирмы Intel имеются так называемый загрузочный (boot) блок объемом 16 Кбайт и два блока параметров по 8 Кбайт каждый. Далее следует блок объемом 96 Кбайт, а оставшаяся часть памяти состоит из блоков по 128 Кбайт. Свойства названных блоков несколько различаются. Для загрузочного предусмотрена аппаратная защита от записи и стирания. Ее включают, подав соответствующий логический уровень на специально предусмотренный вывод микросхемы. Блоки параметров предназначены для хранения часто изменяемых данных и выдерживают большее, по сравнению с другими, число циклов стирания/записи.

Каждую из микросхем рассматриваемой серии изготавливают в двух вариантах, различающихся размещением блоков в адресном пространстве. В микросхемах с индексом В (bottom) они расположены, начиная с нулевого адреса, в указанном выше порядке. В изделиях с индексом Т (top) порядок обратный (загрузочный - в области старших адресов).

Выпускаемые в настоящее время микросхемы FLASH-памяти рассчитаны на номинальные напряжения питания от 2.7 до 5 В. Повышенное напряжение (12 В) для них не требуется вовсе или необходимо лишь в некоторых специальных режимах. В пассивном ("невыбранном") состоянии такие микросхемы потребляют от источника питания ток не более 1 мА (в большинстве случаев - в десятки раз меньше). Иногда предусмотрен особый режим полного выключения (sleep mode), в котором потребление пренебрежимо мало. Правда, читать данные из "заснувшей" микросхемы невозможно, а чтобы "разбудить" ее. порой требуется несколько десятков микросекунд. Потребляемый ток в активном режиме - десятки миллиампер, причем, если перевести в пассивное состояние микросхему, АC3 которой выполняет длительную операцию (например, стирает данные), ток не уменьшится до тех пор, пока она не завершится.

Большое внимание уделяют защите хранящихся во FLASH-памяти данных от случайного изменения, особенно под воздействием помех и переходных процессов при включении и выключении питания. В большинстве случаев предусмотрено три вида аппаратной защиты. Первый заключается в том. что на импульсы в цепи WE длительностью менее 15...20 не микросхема не реагирует, второй - в том, что при низком логическом уровне на входе ОE никакие манипуляции сигналами на других входах не могут вызвать запись, третий - в том. что при уменьшении напряжения питания ниже некоторого уровня АC3 отключается. У микросхем разных типов порог отключения находится в пределах 1.5...3.8В.

Иногда предусмотрена возможность полного запрета изменения и стирания всего массива данных или его частей. Для наложения или снятия такого запрета обычно требуются "экстраординарные" меры (например, кратковременная подача повышенного напряжения на определенные выводы).

Предусматривается и программная защита. Для изменения содержимого ячейки FLASH-памяти недостаточно, как в обычном ОЗУ. записать один код по одному адресу. Необходима команда, состоящая из нескольких кодов, записываемых по определенным адресам.

Любая FLASH-микросхема способна сообщить свой тип устройству, в которое она установлена, что позволяет автоматически выбирать нужные алгоритмы записи и стирания данных. Для программного включения и выключения режима считывания идентификаторов предусмотрены соответствующие команды. Включив его, по адресу ОН читают идентификатор изготовителя, а по адресу 1Н - устройства (идентификаторы некоторых микросхем приведены в таблице). В этом же режиме, но по другим адресам, в некоторых случаях можно получить дополнительную информацию, например, о состоянии аппаратной защиты от записи.

Перейти в режим чтения идентификаторов можно и без команды, подав на адресный вход А9 напряжение +12 В. Допускаемое отклонение его величины у микросхем разных типов различно. В одних случаях оно не более ±5%. в других достаточно, чтобы напряжение лишь превысило некоторое значение, например 10 В. Идентификаторы читают по указанным выше адресам, устанавливая их без учета разряда А9. Обычно этот способ применяют в универсальных программаторах.

АC3 большинства микросхем FLASH-памяти воспринимают команды, подаваемые в соответствии с так называемым стандартом JEDEC, хотя есть и исключения. Иногда при модернизации микросхем их систему команд дополняют стандартными кодовыми комбинациями, сохраняя, однако, и старые команды (это необходимо для того, чтобы модернизированные кристаллы могли работать в ранее выпущенных устройствах). Свою систему команд применяет фирма Intel.

Прежде чем подробно рассматривать команды, расскажем немного О подключении FLASH-микросхем. Однотипные микросхемы, как правило, выпускают в корпусах нескольких типов, различающихся расположением, шагом и числом выводов. Нередко предусматривают "зеркальные" варианты, позволяющие устанавливать микросхемы на любой стороне платы, не изменяя топологию печатных проводников.

Номера выводов на приводимых ниже схемах стандартны для микросхем памяти объемом 512 Кбайт в наиболее распространенных 32-выводных корпусах PLCC и PDIP. "Цоколевка" микросхем меньшего объема аналогична, но выводы старших разрядов у них не подключены (например, у Am29F010 свободны 30-й и 1 -й).

Схему, подобную показанной на рис. 1, применяют, если необходимо стирать и записывать данные, не извлекая микросхему из микропроцессорной, системы.

Предполагается, что системная шина данных - восьмиразрядная, адреса - 16-разрядная. ПЗУ отведено в адресном пространстве 32 Кбайт, остальную его часть может занимать ОЗУ Так как объем памяти Am29F040 - 512 Кбайт, предусмотрен регистр страницы FLASH-памяти, управляющий старшими разрядами адреса. Для чтения и записи данных можно воспользоваться следующими простыми процедурами (написанными на языке Pascal):

Если необходимо запрограммировать FLASH-микросхему вне устройства, в котором она будет работать, ее можно подключить к персональному компьютеру. Проще всего это сделать, установив в компьютер дополнительную плату параллельного ввода/вывода. Такие платы, например, PCL-731 фирмы Advantech, DIO-48 фирмы IOP DAS или PET-48DIO фирмы ADLink имеются в продаже. Как правило, у них 48 входов/выходов и работают они аналогично двум микросхемам 8255 (КР5806В55А) в режиме О с теми же информационными и управляющими портами, даже если в действительности таких микросхем в их составе нет. При необходимости плату параллельного ввода/вывода можно изготовить самостоятельно, воспользовавшись статьей Н. Васильева "Расширитель интерфейса PC" ("Радио", 1994, № 6, с. 20, 21).

Для чтения или программирования FLASH-микросхему подключают к портам двух микросхем 8255 по схеме, показанной на рис. 2. Порт РА первой из них использован для ввода/вывода данных, отдельные разряды ее же порта PC - для вывода сигналов управления СЕ, OЕ и WE. Порты РА, РВ и PC второй образуют 24-разрядную шину адреса FLASH-микросхемы. Если достаточна меньшая разрядность этой шины, соответствующее число старших разрядов порта PC не подключают.

Порты платы ввода/вывода и вспомогательные константы должны быть описаны в программе следующим образом:

А описанные выше процедуры обращения к FLASH-памяти заменяют следующими:

Теперь - собственно о программировании FLASH-микросхем. По стандарту JEDEC каждая команда начинается записью кода ОААН по адресу 5555Н. Далее записывают код 55Н по адресу 2АААН и в заключение - код выполняемой операции по адресу 5555Н.

Говоря, например, о команде 40Н, мы будем подразумевать именно такую последовательность с числом 40Н в качестве кода операции.

После включения питания любая FLASH-микросхема автоматически входит в этот режим и устанавливать его специальной командой нет необходимости. Однако она требуется, например, для возврата из режима чтения идентификаторов. Иногда ее называют командой сброса или начальной установки. Для перевода некоторых микросхем в режим чтения массива достаточно одного цикла записи кода 0F0H по любому адресу.

Следующий за командой 0А0Н цикл записи содержит адрес программируемой ячейки и записываемый в нее код. В большинстве случаев для записи в каждую ячейку требуется подать отдельную команду. Имейте в виду, что подобно обычным РПЗУ, в разрядах программируемой ячейки можно лишь заменять логические единицы нулями. Для выполнения обратной операции требуется, как правило, предварительно стереть содержимое целого блока памяти и повторить программирование всех его ячеек. Учтите, что АC3 многих FLASH-микросхем не распознают подобные ошибки и сообщают об успешном выполнении операции. Чтобы убедиться в правильности программирования, необходимо контрольное считывание записанных данных.

В микросхемах фирмы Winbond с блоками размером 128 байт программированию любой ячейки автоматически предшествует стирание всех данных содержащего ее блока. Поэтому всегда следует предварительно скопировать блок в оперативную память, внести нужные изменения в копию и запрограммировать заново все 128 байт. Получив команду ОАОН, адрес и первый из программируемых байтов, АC3 заносит его во внутренний буфер блока и ждет 200 мкс, не начиная программирования. Если за это время будут получены еще одна команда ОАОН и очередной байт, он тоже поступит в буфер, а АC3 будет ждать следующий еще 300 мкс. Так продолжается до тех пор. пока не будут получены все 128 байт блока или пауза не превысит допустимого значения (300 мкс). После этого АC3 стирает блок и начинает собственно программирование. Последовательность записи в буфер данных, предназначенных для различных ячеек блока, не имеет значения, но те ячейки, данные для которых не поступили, после программирования будут содержать коды 0FFH.

Существует два способа записи данных для программирования в подобную микросхему. Первый из них (для других обычный) называют программно защищенным. Каждому записываемому байту должна предшествовать команда ОАОН. Однако защиту можно отключить, подав последовательно команды 80Н и 20Н.

После этого записываемый по любому адресу байт попадает во внутренний буфер микросхемы, и такой режим сохраняется даже после отключения и включения питания. Выходят из него по команде ОАОН.

Для записи данных во FLASH-микро-схему фирмы Intel предусмотрено два равносильных варианта команды. Прежде всего, по любому адресу записывают один из кодов 40Н или 10Н. а затем - программируемый код по нужному адресу.

Команда "Стереть всю память" .

Эту ответственную операцию АC3 FLASH-микросхемы начинает, получив последовательность из двух команд - 80Н и 10Н.

Микросхемам фирмы Intel аналогичную команду подают записью по произвольным адресам кодов 20Н и 0D0H

Стирание всего содержимого памяти занимает от десятков миллисекунд до нескольких секунд. В некоторых микросхемах предусмотрена возможность приостановки этого процесса записью кода ОВОН по любому адресу. После записи (также по любому адресу) кода 30Н (для микросхем фирмы Intel - ODOH) стирание продолжится.

Команда "Стереть блок" . Чтобы стереть содержимое блока памяти, необходимо подать две команды. Первая из них - 80Н, вторая отличается тем, что ее код операции 90Н должен быть записан не по адресу 5555Н, а по адресу любой из ячеек стираемого блока.

В микросхемы фирмы Intel достаточно записать код 90Н по любому адресу. Выходят из этого режима рассмотренной выше командой "Читать массив данных".

Как проверить завершение выполнения "длинных" команд программирования и стирания данных? Проще всего - воспользоваться справочными данными микросхемы и предусмотреть программное формирование соответствующих задержек. Но фактическое время выполнения тех или иных операций нередко существенно отличается от справочных значений даже для разных ячеек и блоков одной микросхемы, увеличиваясь по мере "старения" последней.

Точно узнать момент окончания той или иной операции позволяет считывание регистра состояния АC3. FLASH -микросхема выдает на шину данных содержимое этого регистра все время, пока АC3 занят выполнением процедуры стирания или программирования. Существует два признака того, что процесс не закончен. Первый заключается в том, что значение бита D7 регистра состояния инверсно по отношению к записываемому в тот же бит ячейки памяти значению (во время стирания - равно 0). По завершении операции оно совпадет с записанным. Второй признак - "мерцание" бита D6 (его значение изменяется при каждом чтении регистра, пока операция не завершится).

Как правило, наблюдаются оба признака, однако встречаются и исключения. Например, в микросхемах фирмы Intel "мерцающий" бит отсутствует, а бит D7 во время программирования равен 0 независимо от записываемого кода. Об окончании операции в данном случае свидетельствует D7=1. В микросхемах с блочной записью (например, фирмы Winbond) значение бита D7 инверсно аналогичному биту последнего из кодов, записанных в буфер блока-

Обычно по завершении программирования или стирания FLASH-микросхе-ма автоматически возвращается в режим чтения массива данных, но микросхемам фирмы Intel для этого требуется соответствующая команда.

Если микросхема неисправна, "длинная" операция может никогда не завершиться, в результате чего управляющий программированием компьютер "зависнет". Во избежание этого следует предусмотреть проверку продолжительности операций стирания и программирования и в случае превышения разумного значения - "аварийный" выход с выдачей сообщения о неисправности.

Иногда, особенно при работе с микросхемами, прошедшими близкое к предельному число циклов стирания/программирования, имеет смысл повторить неудачную операцию несколько раз. Одна из попыток может оказаться успешной.

В заключение - несколько слов об утилитах, позволяющих обновить BIOS компьютера, хранящуюся во FLASH-памяти. Они разрабатываются для каждого типа системных (материнских) плат и учитывают особенности подключения FLASH-микросхем к системным шинам. Поэтому попытки воспользоваться утилитой, предназначенной для платы одного типа, чтобы обновить BIOS другой, зачастую приводят к полному отказу компьютера.

Утилиту запускают как обычную прикладную программу, указав в качестве параметра имя файла, содержащего коды новой версии BIOS. Она читает этот файл, создавая в ОЗУ массив данных, подлежащих записи во FLASH-память. Затем определяет тип микросхемы и выбирает соответствующие процедуры для работы с ней. После этого начинается стирание старых и запись новых данных, причем в это время программа не может пользоваться никакими функциями BIOS, в том числе и для вывода информации на экран или опроса клавиатуры. Если делать это все-таки необходимо, нужные подпрограммы вводят в состав самой утилиты. После завершения программирования и проверки его правильности обычно следует перезапуск компьютера, и он начинает "новую жизнь" с обновленной BIOS.

Читайте и пишите полезные

Носители, использующие флэш-память, составляют самый многочисленный класс портативных носителей цифровой информации и применяются в подавляющем большинстве современных цифровых устройств. Различные типы карт флэш-памяти все чаще используются в цифровых камерах, карманных компьютерах, аудиоплеерах, мобильных телефонах и других портативных электронных системах.

спользование чипов флэш-памяти позволяет создавать миниатюрные и очень легкие энергонезависимые сменные карты памяти, обладающие к тому же низким энергопотреблением. Важным достоинством карт на основе флэш-памяти является также их высочайшая надежность, обусловленная отсутствием движущихся частей, что особенно критично в случае внешних механических воздействий: ударов, вибраций и т.п.

Основные недостатки таких носителей — довольно большая цена самих карт флэш-памяти и высокая удельная стоимость хранимых на них данных, хотя в настоящее время наблюдается тенденция к значительному снижению цен на сменные карты флэш-памяти.

Самыми распространенными типами флэш-карт сегодня являются CompactFlash (CF), SmartMedia (SM), Securе Digital (SD), MultiMediaCard (MMC) и Memory Stick (MS), которые отличаются друг от друга интерфейсами, габаритами, скоростью чтения/записи и максимально возможной емкостью.

Впрочем, несмотря на разнообразие стандартов, выбор у пользователя не слишком велик. А точнее, этого самого выбора пользователю никто и не предлагает. Если взять такой сегмент рынка, как цифровые фотокамеры, то каждая камера рассчитана на определенный формат флэш-карт и нередко именно тип используемой флэш-памяти влияет на конечный выбор в пользу той или иной камеры.

На физическом уровне у флэш-памяти различных стандартов много общего, и в первую очередь это архитектура массива памяти и устройство самой ячейки памяти. Поэтому, прежде чем переходить к рассмотрению различных типов карт флэш-памяти, остановимся на базовых аспектах ее архитектуры.

Устройство ячейки флэш-памяти

ак известно, естественной для компьютера арифметикой является двоичная логика, когда вся информация кодируется с помощью логических нулей и единиц — информационных битов. С позиции электроники двоичной логике соответствует два дискретных состояния сигнала, одному из которых приписывается значение логического нуля, а второму — логической единицы. Соответственно и память, используемая в цифровой электронике, представляет собой организованное хранилище логических нулей и единиц. В простейшем случае каждая элементарная ячейка памяти хранит один бит информации, то есть либо 0, либо 1. Известные типы памяти различаются между собой лишь конструктивными особенностями элементарной ячейки памяти и принципами организации массива этих ячеек.

Рассмотрим для примера хорошо известную оперативную память с произвольным доступом, именуемую также RAM-памятью (Random Access Memory). По принципам действия RAM-память можно разделить на динамическую и статическую.

В статической памяти ячейки построены на различных вариантах триггеров — на транзисторных схемах с двумя устойчивыми состояниями. После записи бита в такую ячейку она может находиться в одном из этих состояний и сохранять записанный бит как угодно долго: необходимо только наличие питания. Отсюда и название памяти — статическая, то есть пребывающая в неизменном состоянии. Достоинством статической памяти является ее быстродействие, а недостатками — высокое энергопотребление и низкая удельная плотность данных, поскольку одна триггерная ячейка состоит из нескольких транзисторов и, следовательно, занимает довольно много места на кристалле.

В динамической памяти элементарная ячейка представляет собой конденсатор, способный в течение короткого промежутка времени сохранять электрический заряд, наличие которого можно ассоциировать с информационным битом. Проще говоря, при записи логической единицы в ячейку памяти конденсатор заряжается, при записи нуля — разряжается. При считывании данных конденсатор разряжается через схему считывания, и если заряд конденсатора был ненулевым, то на выходе схемы считывания устанавливается единичное значение. Кроме того, поскольку при считывании конденсатор разряжается, то его необходимо зарядить до прежнего значения. Поэтому процесс считывания сопровождается подзарядкой конденсаторов (регенерацией заряда). Если в течение длительного времени обращения к ячейке не происходит, то постепенно за счет токов утечки конденсатор разряжается и информация теряется. В связи с этим память на основе массива конденсаторов требует периодического подзаряда конденсаторов, поэтому ее и называют динамической. Для компенсации утечки заряда применяется регенерация, основанная на циклическом обращении к ячейкам памяти, восстанавливающим прежний заряд конденсатора.

И статическая, и динамическая RAM-память представляет собой энергозависимую память, которая способна сохранять информационные биты только при наличии внешнего питания. Соответственно при отключении питания вся информация теряется.

Принципиальное отличие флэш-памяти от RAM-памяти заключается в том, что это энергонезависимая память, способная в течение неограниченного времени сохранять информацию при отсутствии внешнего питания.

В принципе, существует несколько типов энергонезависимой памяти, и в этом смысле флэш-память — лишь одна из ее разновидностей.

Архитектура ПЗУ-памяти

Простейшим примером энергонезависимой памяти является ROM (Read-Only Memory), известная также как ПЗУ (постоянное запоминающее устройство). В такой памяти массив ячеек представляет собой набор проводников, некоторое из которых остаются целыми, а остальные разрушаются. Данные проводники, выполняющие роль элементарных переключателей, организуются в матрицу путем подсоединения к линиям столбцов и строк (рис. 1). Замкнутому состоянию проводника можно присвоить значение логического нуля, а разомкнутому — логической единицы. Если теперь измерить напряжение между одной из линий столбцов и строк (то есть получить доступ к определенной ячейке памяти), то его высокое значение (разомкнутое состояние проводника) соответствует логической единице, а нулевое (замкнутое состояние проводника) — логическому нулю.

Основным недостатком ПЗУ является невозможность обновлять содержимое ячеек памяти, то есть записывать информацию. Когда-то такая память использовалась для хранения BIOS, однако сегодня этот тип памяти уже не применяется.

Другой тип энергонезависимой памяти — перезаписываемое ПЗУ (ППЗУ) или EPROM (Erasable Programmable Read-Only Memory). Такая память может быть перезаписана только с помощью специальных программаторов. В настоящее время из-за сложности процесса перезаписи на смену ППЗУ приходит флэш-память (Flash Memory).

Сейчас уже довольно сложно определить происхождение термина «flash». В буквальном переводе с английского flash — это вспышка, молния. Возможно, таким названием разработчики хотели подчеркнуть, что данная энергонезависимая память позволяет перезаписывать информацию со скоростью молнии. В любом случае название «flash» прочно закрепилось за этим типом памяти, хотя и не имеет никакого отношения ни к архитектуре памяти, ни к технологиям ее производства.

Структура CMOS-транзистора

Между флэш-памятью и динамической RAM-памятью, равно как и ROM-памятью, есть много общего. Принципиальное различие заключается прежде всего в строении самой элементарной ячейки. Если в динамической памяти элементарной ячейкой является конденсатор, то во флэш-памяти роль ячейки памяти выполняет CMOS-транзистор особой архитектуры. И если в обычном CMOS-транзисторе имеется три электрода (сток, исток и затвор), то во флэш-транзисторе (в простейшем случае) добавляется еще один затвор, называемый плавающим.

Обычный CMOS-транзистор может находиться в двух состояниях: открытом и закрытом. Рассмотрим принцип действия обычного транзистора на примере n-p-n-транзистора (рис. 2). В таком транзисторе области стока и истока имеют электронную проводимость (n-области), а область затвора — дырочную проводимость (p-область). Сам транзистор выполнен в полупроводнике p-типа с дырочной проводимостью. Естественно, что за счет диффузии дырок из p-области в n-область и обратной диффузии электронов из n-области в p-область на границах переходов p- и n-областей формируются обедненные слои (слои, в которых отсутствуют основные носители зарядов), препятствующие протеканию тока. В обычном положении, то есть когда к затвору не прикладывается напряжение или подается отрицательный потенциал, транзистор находится в закрытом состоянии, то есть не способен проводить ток от истока к стоку. Ситуация не меняется, даже если приложить напряжение между стоком и истоком (при этом не принимаются во внимание токи утечки, вызванные движением под воздействием формируемых электрических полей неосновных носителей заряда, то есть дырок для n-области и электронов для p-области).

Однако если к затвору приложить положительный потенциал, то ситуация в корне изменится. Под воздействием электрического поля затвора дырки выталкиваются вглубь p-полупроводника, а электроны, наоборот, втягиваются в область под затвором, образуя обогащенный электронами канал между истоком и стоком. Если приложить к затвору положительное напряжение, эти электроны начинают двигаться от истока к стоку. При этом транзистор проводит ток — говорят, что транзистор открывается. Если напряжение с затвора снимается, электроны перестают втягиваться в область между истоком и стоком, проводящий канал разрушается и транзистор перестает пропускать ток, то есть закрывается.

В открытом состоянии напряжение между стоком и истоком близко к нулю, а в закрытом состоянии это напряжение может достигать высокого значения. Ситуация в данном случае аналогична ячейкам ПЗУ с замкнутыми и разомкнутыми проводниками. Закрытое состояние транзистора соответствует разомкнутому проводнику и может трактоваться как логическая единица, а открытое состояние транзистора соответствует замкнутому проводнику и может трактоваться как логический нуль. Проблема заключается лишь в том, что для задания транзистору того или иного состояния необходимо подавать управляющее напряжение на затвор, то есть данная структура позволяет записывать информацию (задавать значение нуля или единицы), но не дает возможности эту информацию сохранять, поскольку при отсутствии напряжения на затворе его состояние всегда становится закрытым. Поэтому нужно придумать такой способ, чтобы способность находиться в открытом или закрытом состоянии у транзистора сохранялась как угодно долго. Для этого в транзисторы, используемые во флэш-памяти, добавляется плавающий затвор, который служит для хранения заряда (электронов) в течение неограниченного времени.

Структура транзистора с плавающим затвором

Рассмотрим сначала ситуацию, когда на плавающем затворе нет электронов. В этом случае транзистор ведет себя подобно уже рассмотренному традиционному транзистору. При подаче на управляющий затвор положительного напряжения (инициализация ячейки памяти) он будет находиться в открытом состоянии, что соответствует логическому нулю (рис. 3). Если же на плавающем затворе помещен избыточный отрицательный заряд (электроны), то даже при подаче положительного напряжения на управляющий затвор он компенсирует создаваемое управляющим затвором электрическое поле и не дает образовываться каналу проводимости, то есть транзистор будет находиться в закрытом состоянии.

Рис. 3. Устройство транзистора с плавающим затвором и чтение содержимого ячейки памяти

Таким образом, наличие или отсутствие заряда на плавающем затворе однозначно определяет состояние транзистора (открыт или закрыт) при подаче одного и того же положительного напряжения на управляющий затвор. Если подачу напряжения на управляющий затвор трактовать как инициализацию ячейки памяти, то по напряжению между истоком и стоком можно судить о наличии или отсутствии заряда на плавающем затворе. Получается своеобразная элементарная ячейка памяти, способная сохранять один информационный бит. При этом важно, чтобы заряд на плавающем затворе (если он там имеется) мог сохраняться там как угодно долго как при инициализации ячейки памяти, так и при отсутствии напряжения на управляющем затворе. В этом случае ячейка памяти будет энергонезависимой. Осталось лишь придумать, каким образом на плавающий затвор помещать заряд (записывать содержимое ячейки памяти) и удалять его оттуда (стирать содержимое ячейки памяти) в случае необходимости.

Помещение заряда на плавающий затвор (процесс записи) реализуется либо методом инжекции горячих электронов (CHE-Channel Hot Electrons), либо методом туннелирования Фаулера-Нордхейма (аналогично тому, как это делается при удалении заряда — см. далее).

При использовании метода инжекции горячих электронов на сток и управляющий затвор подается высокое напряжение (рис. 4), чтобы придать электронам в канале энергию, достаточную для преодоления потенциального барьера, создаваемого тонким слоем диэлектрика, и туннелировать в область плавающего затвора (при чтении на управляющий затвор подается меньшее напряжение и эффекта туннелирования не наблюдается).

Рис. 4. Процесс записи и стирания информационного бита в транзистор с плавающим затвором

Для удаления заряда с плавающего затвора (процесс стирания ячейки памяти) на управляющий затвор подается высокое (порядка 9 В) отрицательное напряжение, а на область истока — положительное напряжение (рис. 4). Это приводит к тому, что электроны туннелируют из области плавающего затвора в область истока (квантовое туннелирование Фаулера-Нордхейма — Fowler-Nordheim, FN).

Рассмотренный нами транзистор с плавающим затвором может выступать в роли элементарной ячейки флэш-памяти. Однако однотранзисторные ячейки имеют ряд существенных недостатков, главный из которых — плохая масштабируемость. Дело в том, что при организации массива памяти каждая ячейка памяти (транзистор) подключается к двум перпендикулярным шинам: управляющие затворы — к шине, называемой линией слов, а стоки — к шине, называемой битовой линией (в дальнейшем данная организация будет рассмотрена на примере NOR-архитектуры). Вследствие наличия в схеме высокого напряжения при записи методом инжекции горячих электронов все линии — слов, битов и истоков — необходимо располагать на достаточно большом расстоянии друг от друга для обеспечения требуемого уровня изоляции, что, естественно, сказывается на ограничении объема флэш-памяти.

Другим недостатком однотранзисторной ячейки памяти является наличие эффекта избыточного удаления заряда с плавающего затвора, который не может компенсироваться процессом записи. В результате на плавающем затворе образуется положительный заряд и транзистор остается всегда в открытом состоянии.

Двухтранзисторная ячейка памяти

Для того чтобы избежать недостатков однотранзисторных ячеек памяти, используют различные модификации ячеек памяти, однако главный базовый элемент — транзистор с плавающим затвором — остается в любом варианте ячейки памяти. Одним из модифицированных вариантов ячейки памяти является двухтранзисторная ячейка, содержащая обычный CMOS-транзистор и транзистор с плавающим затвором (рис. 5). Обычный транзистор используется для изоляции транзистора с плавающим затвором от битовой линии.

Преимущество двухтранзисторной ячейки памяти заключается в том, что с ее помощью можно создавать более компактные и хорошо масштабируемые микросхемы памяти, поскольку в данном случае транзистор с плавающим затвором изолируется от битовой линии. Кроме того, в отличие от однотранзисторной ячейки памяти, где для записи информации используется метод инжекции горячих электронов, в данном случае и для записи, и для стирания информации применяется метод квантового туннелирования Фаулера-Нордхейма, что позволяет снизить напряжение, необходимое для операции записи. Как будет показано в дальнейшем, двухтранзисторные ячейки используются в памяти с архитектурой NAND.

Ячейка SST

Описанными ячейками памяти не исчерпывается все многообразие возможных конструкций. Широкое распространение получили и другие типы ячеек памяти, например ячейка SST, разработанная компанией Silicon Storage Technology, Inc.

По принципу действия SST-ячейка во многом напоминает уже рассмотренную однотранзисторную ячейку памяти.

Однако в транзисторе SST-ячейки изменены формы плавающего и управляющего затворов (рис. 6). Управляющий затвор выровнен своим краем с краем стока, а его изогнутая форма дает возможность разместить плавающий затвор частично под ним и одновременно над областью истока. Такое расположение плавающего затвора позволяет, с одной стороны, упростить процесс помещения на него заряда методом инжекции горячих электронов, а с другой стороны, упростить процесс снятия заряда за счет эффекта туннелирования Фаулера-Нордхейма.

При снятии заряда туннелирование электронов происходит не в область истока, как у рассмотренной однотранзисторной ячейки, а в область управляющего затвора. Для этого на управляющий затвор подается высокое положительное напряжение. Под воздействием электрического поля, создаваемого управляющим затвором, происходит туннелирование электронов с плавающего затвора, чему способствует его изогнутая к краям форма.

При помещении заряда на плавающий затвор сток заземляется, а к истоку и к управляющему затвору подается положительное напряжение. Управляющий затвор формирует при этом канал проводимости, а напряжение между стоком и истоком «разгоняет» электроны, сообщая им энергию, достаточную для преодоления потенциального барьера, то есть для туннелирования на плавающий затвор.

В отличие от однотранзисторной ячейки памяти ячейка SST имеет и несколько иную схему организации массива памяти.

MLC-ячейки памяти

Все рассматривавшиеся до этого варианты ячеек памяти способны сохранять только один бит информации в расчете на одну ячейку. Однако существуют и такие ячейки, каждая из которых сохраняет по нескольку битов, — это многоуровневые ячейки, или MLC (MultiLevel Cell).

Принцип работы многоуровневой MLC-ячейки памяти достаточно прост и во многом схож с принципом работы однотранзисторной ячейки на базе транзистора с плавающим затвором.

Как уже отмечалось при рассмотрении однотранзисторной ячейки памяти, наличие логической единицы или нуля определяется по значению напряжения на битовой линии и зависит от наличия или отсутствия заряда на плавающем затворе. Если на управляющий затвор подается положительное напряжение, то при отсутствии заряда на плавающем затворе транзистор открыт и напряжение между стоком и истоком мало, что соответствует логическому нулю. Если же на плавающем затворе имеется отрицательный заряд, своим полем экранирующий поле, создаваемое управляющим затвором, то транзистор оказывается в закрытом состоянии, что соответствует высокому напряжению между стоком и истоком (логическая единица). Понятно, что даже при наличии отрицательного заряда на плавающем затворе транзистор можно перевести в открытое состояние, однако для этого придется подать большее напряжение (пороговое напряжение) на управляющий затвор. Следовательно, об отсутствии или наличии заряда на плавающем затворе можно судить по пороговому значению напряжения на управляющем затворе. Поскольку пороговое напряжение зависит от величины заряда на плавающем затворе, то можно не только определить два предельных случая — отсутствие или присутствие заряда, но и по величине порогового напряжения судить о количестве заряда. Таким образом, если имеется возможность размещать на плавающем затворе разное количество уровней заряда, каждому из которых соответствует свое значение порогового напряжения, то в одной ячейке памяти можно сохранять несколько информационных битов. К примеру, для того, чтобы с использованием такого транзистора сохранять в одной ячейке 2 бита, необходимо различать четыре пороговых напряжения, то есть иметь возможность размещать на плавающем затворе четыре различных уровня заряда. Тогда каждому из четырех пороговых напряжений можно поставить в соответствие комбинацию двух битов: 00, 01, 10, 11.

Для того чтобы иметь возможность записывать в одну ячейку 4 бита, необходимо различать уже 16 пороговых напряжений.

Ячейки MLC активно разрабатываются компанией Intel, поэтому технология памяти на основе MLC-ячеек получила название Intel StrataFlash.

Ячейки Saifun NROM и MirrorBit

Intel StrataFlash на базе MLC-ячеек — не единственная технология, позволяющая сохранять несколько информационных битов в одной ячейке. Израильской компанией Saifun разработана еще одна технология — Saifun NROM technology. Аналогичная технология под названием MirrorBit есть и у компании AMD. И хотя сама компания AMD заявляет о технологии MirrorBit как о своей разработке, возникают большие сомнения в ее правоте. Компания Saifun также усомнилась в авторских правах AMD и подала иск в суд, который был удовлетворен. В связи с этим мы будем рассматривать только технологию Saifun NROM technology.

Ячейка NROM (Nitrid ROM) по своей структуре напоминает транзистор с плавающим затвором. Управляющий затвор подключается к линии слов (Word Line), а сток и исток (они, кстати сказать, совершенно одинаковые), подключаются к двум разным линиям бит. Плавающий затвор выполнен из нитрида кремния (Si3N4) (рис. 7).

Принцип действия такого транзистора аналогичен принципу работы обычного транзистора с плавающим затвором, но за одним исключением. Дело в том, что нитрид кремния, из которого изготавливается плавающий затвор, препятствует «растечению» заряда, то есть позволяет локализовать его в ограниченном пространстве плавающего затвора. Фактически это позволяет сохранять два информационных бита с использованием одного затвора.

Для записи информационного бита в такую ячейку к управляющему затвору и одному из стоков/истоков подается напряжение. За счет инжекции горячих электронов через слой диэлектрика электроны проникают в плавающий затвор, локализуясь в области, ближайшей к тому стоку/истоку, к которому прикладывалось напряжение.

Удаление заряда с плавающего затвора происходит за счет процесса инжекции дырок, для чего на сток/исток подается положительное напряжение. Дырки, туннелирующие в область плавающего затвора, рекомбинируют с электронами, что приводит к уничтожению заряда.

Архитектура флэш-памяти

ассмотренная нами простейшая ячейка флэш-памяти на основе транзистора с плавающим затвором, способная сохранять один бит информации, может использоваться для создания массивов энергонезависимой памяти. Для этого нужно только соответствующим образом объединить в единый массив множество ячеек, то есть создать архитектуру памяти.

Существует несколько типов архитектур флэш-памяти, но наибольшее распространение получили архитектуры NOR и NAND.

Архитектура NOR

Самая простая для понимания архитектура флэш-памяти — архитектура NOR (рис. 8).

Как уже отмечалось, для инициализации ячейки памяти, то есть для получения доступа к содержимому ячейки, необходимо подать напряжение на управляющий затвор. Поэтому все управляющие затворы должны быть подсоединены к линии управления, называемой линией слов (Word Line). Анализ содержимого ячейки памяти производится по уровню сигнала на стоке транзистора. Поэтому стоки транзисторов подключаются к линии, называемой линией битов (Bit Line).

Своим названием архитектура NOR обязана логической операции ИЛИ-НЕ (английская аббревиатура — NOR). Логическая операция NOR над несколькими операндами дает единичное значение, когда все операнды равны нулю, и нулевое значение во всех остальных случаях. Если под операндами понимать значения ячеек памяти, то в рассмотренной архитектуре единичное значение на битовой линии будет наблюдаться только в том случае, когда значение всех ячеек, подключенных к данной битовой линии, равно нулю (все транзисторы закрыты).

Архитектура NOR обеспечивает произвольный быстрый доступ к памяти, однако процессы записи (используется метод инжекции горячих электронов) и стирания информации происходит достаточно медленно. Кроме того, в силу технологических особенностей производства микросхем флэш-памяти с архитектурой NOR, размер самой ячейки получается весьма большим и потому такая память плохо масштабируется.

Архитектура NAND

Другой распространенной архитектурой флэш-памяти является архитектура NAND, соответствующая логической операции И-НЕ. Операция NAND дает нулевое значение только в том случае, когда все операнды равны нулю, и единичное значение во всех остальных случаях. Как мы уже отмечали, нулевое значение соответствует открытому состоянию транзистора, поэтому архитектура NAND подразумевает, что битовая линия имеет нулевое значение в случае, когда все подсоединенные к ней транзисторы открыты, и единичное значение — когда хотя бы один из транзисторов закрыт. Такую архитектуру можно организовать, если подключать транзисторы с битовой линии не по одному (как в архитектуре NOR), а последовательными сериями (рис. 9).

В сравнении с архитектурой NOR данная архитектура в силу особенностей технологического процесса производства позволяет добиться более компактного расположения транзисторов, а следовательно, хорошо масштабируется. В отличие от NOR-архитектуры, где запись информации производится методом инжекции горячих электронов, в архитектуре NAND запись осуществляется методом туннелирования FN, что позволяет реализовать более быструю запись, чем для архитектуры NOR. Чтобы уменьшить негативный эффект низкой скорости чтения, микросхемы NAND снабжаются внутренним кэшем.

Кроме рассмотренных нами архитектур NOR и NAND, во флэш-памяти используются и другие архитектуры, например AND, DiNOR и т.д., но они не получили массового распространения.

Типы флэш-карт

Настоящее время на рынке присутствуют карты флэш-памяти различных форматов, самые новые из которых — это Secure Digital (SD), Memory Stick (MS), MultiMediaCard (MMC) и xD-Picture Card (XD). Не стоит также забывать и о хорошо зарекомендовавших себя форматах CompactFlash (CF) и SmartMedia (SM).

По оценкам некоторых аналитических изданий, в настоящее время 54% рынка занимают карты CF, на втором месте — Memory Stick (25%), на третьем — Secure Digital (10%), далее следуют SmartMedia (8%) и MultiMediaCard (3%).

Карты памяти CompactFlash представляют собой высококачественные универсальные перезаписываемые носители информации, ориентированные на бытовую электронику и компьютерное оборудование нового поколения. Компактность и надежность этих носителей делают их идеальным решением для использования в цифровых фотокамерах, персональных цифровых секретарях (PDA), МР3-плеерах, сотовых телефонах, карманных сканерах, фотопринтерах, портативных терминалах, магнитофонах, диктофонах, устройствах глобальной навигации и во многих других устройствах, оснащенных слотом CompactFlash.

CompactFlash является одним из старейших и самым распространенным в настоящий момент стандартом сменных карт флэш-памяти, а также прямым потомком карт PCMCIA. На карты этого стандарта приходится более 54% мирового рынка карт памяти. Первая серийная карта CompactFlash была изготовлена корпорацией SanDisk в 1994 году.

В октябре 1995 года была создана некоммерческая организация Compact Flash Association (CFA), куда помимо компании SanDisk вошли IBM, Canon, Kodak, HP, Hitachi, Epson и Socket Communications.

Размер карты CompactFlash составляет 43Ѕ36Ѕ3,3 мм, а интерфейсный разъем оснащен 50 контактами.

В настоящее время CompactFlash представляет собой наиболее выгодное решение в плане удельной стоимости хранимых носителем данных на основе флэш-памяти при объеме более 32 Мбайт.

Одним из главных достоинств карты CompactFlash является наличие встроенного ATA-контроллера, благодаря которому она совместима с IDE-интерфейсом, что подразумевает возможность эмуляции жесткого диска. На программном уровне карта ничем не отличается от винчестера: она обладает всеми необходимыми параметрами, такими как количество виртуальных цилиндров и головок. Обращение к карте выполняется с помощью стандартного аппаратного прерывания IRQ 14, и зачастую для работы с CompactFlash не нужны специальные драйверы.

Встроенный преобразователь напряжения питания позволяет подключать карты CompactFlash в слоты с напряжением как 3,3 В, так и 5 В.

Существует два типа карт CompactFlash: Type I и Type II, единственное различие между которыми заключается в толщине корпуса: у карт Type I толщина составляет 3,3 мм, а у Type II — 5,5 мм. Однако карты CompactFlash Type I можно использовать в слотах Type I и Type II, а карты CompactFlash Type II — только в слотах Type II.

Карты CompactFlash являются рекордсменами как по скорости чтения/записи, так и по максимальной емкости, что обусловливает их широкое распространение в среде профессиональных цифровых камер. Что касается скорости, то следует отметить, что многие производители выпускают различные как по скорости, так и по цене серии карт CompactFlash. Сегодня в розничной торговле доступны карты CF объемом 4 Гбайт. Если же говорить о скоростях чтения/записи, то здесь все зависит и от производителя, и от серии, и даже от объема карты.

Рассмотрим, к примеру, карты CompactFlash компании Kingston Technology серий Standard (емкость 256, 512 и 1024 Мбайт) и Elite PRO (емкость 2 и 4 Гбайт). Результаты, отражающие скорости последовательного чтения и записи, были получены с помощью тестового пакета IOmeter (рис. 10 и 11).

Рис. 10. Зависимость скорости последовательного чтения от размера запроса для карт формата CompactFlash

Рис. 11. Зависимость скорости последовательной записи от размера запроса для карт формата CompactFlash

Тестирование показало, что скорость линейного чтения у серии Elite PRO более чем в два раза превосходит скорость линейного чтения у серии Standard, причем у карты емкостью 2 Гбайт эта скорость выше, чем у карты емкостью 4 Гбайт, а у всех карт серии Standard скорость последовательного чтения одинакова.

При последовательной записи наблюдается примерно та же закономерность. Исключение составила карта серии Standart емкостью 512 Мбайт, у которой скорость последовательной записи при размере запроса более 32 Кбайт оказалась даже выше, чем у карты серии Elite PRO емкостью 4 Гбайт.

SmartMedia

Спецификация карт SmartMedia была предложена компанией Toshiba в 1996 году. Впрочем, первоначально эти карты имели менее благозвучное название: Solid-State Floppy Disk Card (SSFDC). Карты SmartMedia имеют наименьшую среди существующих сегодня носителей на основе флэш-памяти толщину — всего 0,76 мм (как у кредитной карточки). Этот показатель был достигнут благодаря максимальной простоте устройства: внутри карты SmartMedia отсутствуют контроллеры и дополнительные схемы, а установлен лишь чип NAND-памяти. Такое решение позволило максимально уменьшить как размер (45Ѕ37Ѕ0,76 мм) и вес (около 2 г) самой карты, так и ее цену.

Компактность этих карт памяти позволяет использовать их в цифровых камерах, устройствах PDA, диктофонах, факс-аппаратах, принтерах, сканерах, электронных записных книжках и портативных терминалах. Кроме того, карты памяти этого типа могут применяться в оборудовании, требующем использования съемных микросхем памяти в целях обеспечения портативности, обновления ПО или наращивания объемов памяти для поддержки новых приложений.

Физический интерфейс карт SmartMedia представляет собой плоский разъем с 22 контактами. Передача данных осуществляется по 8-разрядной шине, а максимальное время доступа при чтении и записи в зависимости от емкости карты составляет от 50 до 80 нс.

Существует два вида карт SmartMedia, один из которых рассчитан на напряжение питания 3,3 В, а другой — на 5 В. Вид карты легко определить по положению так называемого ключа — срезанного угла в той части карты, где расположены контакты. Поскольку ключи у них расположены с разных сторон, эти виды карт несовместимы между собой, то есть невозможно подключить карту SmartMedia, рассчитанную на 3,3 В, в слот с напряжением питания 5 В, и наоборот.

MultiMediaCard

Карты стандарта MultiMediaCard появились в 1997 году как результат сотрудничества компаний SanDisk Corporation и Siemens AG/Infineon Technologies AG.

В 1998 году был сформирован альянс MMCA (MultiMediaCard Association), в состав которого вошли компании HP, SanDisk, Kodak, Hitachi, Infineon Technology, Lexar Media, Micron, Sanyo, Siemens и Nokia.

Стандарт был изначально «свободным», то есть лишенным каких-либо лицензионных ограничений.

На момент появления карты MMC были самыми миниатюрными (24Ѕ32Ѕ1,4 мм) и легкими (менее 2 г).

Карты MMC имеют всего семь контактов и осуществляют передачу данных через последовательный интерфейс, что обусловливает максимальную простоту их использования.

Эти карты ориентированы на применение в новейших цифровых видео- и фотокамерах, мобильных телефонах с интеллектуальными функциями и функциями загрузки/воспроизведения музыкальных записей, цифровых портативных аудиоплеерах, игрушках и игровых приставках, карманных ПК и электронных органайзерах.

Карты MultiMediaCard на 100% совместимы со всеми устройствами, использующими карты памяти типа Secure Digital.

В настоящее время начат выпуск Secure MultiMediaCard, имеющих встроенную схему защиты от несанкционированного доступа и копирования и совместимых со спецификацией SDMI.

11 ноября 2002 года было объявлено об утверждении стандарта на карты ММС уменьшенного размера, получившие название Reduced Size MultiMediaCards (RS-MMC). Размеры карт RS-MMC составляют 24Ѕ18Ѕ1,4 мм (полноформатные ММС имеют размеры 24Ѕ32Ѕ1,4 мм). Предусмотрена обратная совместимость карт RS-MMC с полноформатными носителями: при помощи механических переходников они могут быть использованы в изделиях, оснащенных слотами ММС.

По замыслу разработчиков основной сферой применения RS-MMC станут мобильные телефоны, смартфоны и коммуникаторы.

Другая разновидность карт MMC — это HS-MMC (High Speed MMC), то есть высокоскоростные карты MMC, способные обеспечивать скорость передачи данных до 52 Мбит/с.

Присутствующие сегодня на рынке карты MMC имеют максимальный объем до 1 Гбайт, а средняя скорость чтения и записи составляет у них 2 Мбайт/с.

Карты типа SD были разработаны компаниями Matsushita, San Disk и Toshiba и представляют собой дальнейшее развитие стандарта MultiMediaCard. Эти карты являются представителями третьего поколения флэш-памяти.

Для продвижения нового формата три вышеупомянутые компании основали специальную организацию — SD Association, членами которой в настоящее время являются уже более 200 производителей. Само название Secure Digital ясно указывает на поддержку этим носителем технологии защиты данных от несанкционированного копирования и доступа. В отличие от других типов сменных носителей на флэш-памяти, абсолютно все выпускаемые SD-карты оснащены специальной электронной схемой защиты данных и совместимы со спецификацией SDMI.

На карте может храниться как незащищенная (уровень 1), так и защищенная (уровни 2 и 3) информация. Информация может быть защищена от копирования либо уникальным идентификационным ключом карты (уровень 2), либо активным криптографическим алгоритмом (уровень 3), что дает владельцу карты уверенность в надежности защиты данных.

Несмотря на то что SD-карты появились относительно недавно, они уже широко используются в самых различных электронных приборах: в цифровых диктофонах и портативных плеерах, видеокамерах, автомагнитолах, карманных компьютерах, сотовых телефонах и мультимедийных проекторах.

SD-карты относятся к числу наиболее легких и компактных сменных карт: их размер составляет всего 24Ѕ32Ѕ2,1 мм, а вес — 2 г. Внешне SD-карты очень похожи на MMC и соответствуют их размерам, за исключением большей толщины. Карты имеют девять контактов (у MMC их семь) и миниатюрный переключатель для защиты от случайного уничтожения хранимых данных.

В настоящее время на рынке представлены SD-карты с максимальным объемом до 1 Гбайт. Скорость чтения и записи зависит и от размера карты, и от производителя. Если, к примеру, сравнить две SD-карты емкостью по 512 Мбайт (Kingston и Transcend), то выяснится, что в режиме последовательной записи (рис. 12) производительность карты Transcend почти в четыре раза выше производительности карты Kingston. Так, при размере запроса более 64 Кбайт скорость последовательной записи для карты Transcend составляет 7,8 Мбайт/с, а для карты Kingston — всего 1,75 Мбайт/с. Скорость линейной записи (рис. 13) также выше у карты Transcend и составляет 8,13 Мбайт/с (при размере запроса более 64 Кбайт/с), а у карты Kingston эта скорость равна 6,24 Мбайт/с.

Рис. 12. Зависимость скорости последовательной записи от размера запроса для карт формата SD

Для сравнения на рис. 12 и 13 показаны типичные скорости последовательного чтения и записи карты формата MMC, которые и при чтении, и при записи не превышают 1 Мбайт/с.

Стандарт Memory Stick был разработан компанией Sony, а его массовое внедрение началось в 1998 году. В настоящее время карты стандарта Memory Stick используются во всех без исключения цифровых фотоаппаратах Sony, что, впрочем, отнюдь не способствует их успешному продвижению на рынок. Именно поэтому последняя модель цифровой камеры Sony поддерживает карты уже двух стандартов: Memory Stick и куда более популярные CompactFlash.

Своему названию карты Memory Stick (память в пластинках) обязаны сходству с жевательными пластинками, да и габариты карточки памяти Memory Stick составляют 21,5Ѕ50Ѕ2,8 мм, что примерно соответствует размерам пластинки жевательной резинки.

Выпускается также модификация этого носителя со встроенной системой защиты от несанкционированного копирования и доступа к данным (MagicGate Memory Stick).

Сегодня компания Sony занимается внедрением носителя новой модификации, получившего название Memory Stick Duo. Эта карта совместима с обычной Memory Stick, но имеет меньшие размеры (20Ѕ31Ѕ1,6 мм) и меньший вес (всего 2 г), что позволит использовать ее в самых малых портативных устройствах, особо критичных к размеру сменных модулей памяти, например в мобильных телефонах и микрокомпьютерах. С целью облегчения интеграции нового стандарта в существующие системы предусмотрена полная обратная совместимость: при помощи специального картриджа Memory Stick Duo можно подключать к слотам для полноформатных карт Memory Stick.

В начале января 2003 года на проходившей в Лас-Вегасе выставке Consumer Electronics Show (CES) компания Sony объявила о планах по созданию карт флэш-памяти нового поколения — Memory Stick PRO. Линейка новых носителей будет выпускаться в корпусах тех же форм и размеров, что и обычные Memory Stick. От ставших уже привычными синих карточек Memory Stick новые носители будут отличаться жемчужным цветом. Если же сравнивать технические характеристики, то, кроме увеличения емкости, карты Memory Stick PRO обладают гораздо более высокой скоростью обмена данными и усовершенствованными механизмами защиты данных. Что касается перспектив наращивания объема, то технически возможно создание Memory Stick PRO емкостью до 32 Гбайт. Максимальная скорость обмена, обеспечиваемая конструкцией носителей Memory Stick PRO, составляет 160 Мбит/с, а скорость записи — не менее 15 Мбит/с.

Во всех носителях Memory Stick PRO будет использоваться технология защиты данных MagicGate. Помимо этого в них будет встроена и новая система защиты данных, позволяющая ограничивать доступ к хранимым на носителе файлам, предотвращая просмотр и распространение защищенных данных даже в случае утери или кражи карты.

Еще одно технологическое решение, реализованное при создании карт Memory Stick PRO, позволит избежать потери данных при преждевременном извлечении карты из слота. Даже если пользователь извлечет карту, не дождавшись окончания процесса записи, то после повторной установки носителя можно будет возобновить запись с того места, где она была прервана. При этом гарантируется сохранность не только данного файла, но и всей файловой системы карты.

В настоящее время на рынке представлены модели карт Memory Stick Pro объемом до 1 Гбайт, а также карты Memory Stick PRO DUO объемом до 128 Мбайт.

xD-Picture (XD)

Формат xD-Picture является самым молодым из всех рассмотренных выше форматов. Этот стандарт разработан компаниями Olympus и FujiFilm, но в силу своей новизны пока еще не получил широкого распространения.

Обозначение xD расшифровывается как eХtreme digital, что, по мнению разработчиков, акцентирует внимание на использовании этого носителя для хранения аудиовизуальных данных. Размеры карт xD-Picture составляют всего 20Ѕ25Ѕ1,7 мм, а вес — 2 г, что на данный момент является абсолютным рекордом миниатюрности.

По замыслам разработчиков карты xD-Picture должны заменить морально устаревшие карты SmartMedia, максимальная емкость которых (в силу технологических причин) не превышает 128 Мбайт. Теоретически емкость карт xD может достигать 8 Гбайт. Кроме того, тенденция миниатюризации цифровых любительских камер требует и адекватной миниатюризации карт памяти.

Карты xD-Picture имеют 22-контактный интерфейс, совместимый с интерфейсом SmartMedia Card.

Максимальная скорость чтения данных с карт xD-Picture составляет 5 Мбайт/с, а скорость записи — 3 Мбайт/с (для карт емкостью 16 и 32 Мбайт — 1,3 Мбайт/с); напряжение питания — 3,3 В; потребляемая при работе мощность — 25 мВт. Как и SmartMedia, карты xD-Picture содержат только флэш-память и не оснащаются встроенным контроллером (в отличие, например, от CompactFlash).

В настоящее время максимальная емкость карт xD-Picture составляет 512 Мбайт.

Микросхемы флеш-памяти eeprom серии 25xxx широко применяются в микроэлектронике. В частности, в современных телевизорах и материнских платах в 25xxx хранится прошивка биоса. Перепрошивка 25xxx осуществляется по интерфейсу SPI, в чем и заключается отличие этих микросхем от флеш-памяти семейства 24xxx, которые шьются по i2c(квадратная шина).

Соответственно, для чтения/стирания/записи 25xxx нужен SPI-программатор. Одним из самых дешевых вариантов программаторов для этой цели является USBasp, который стоит смешные деньги- с доставкой всего около 2$ на ебее. В свое время я купил себе такой для программирования микроконтроллеров. Теперь мне понадобилось прошить не микроконтроллер, а SPI-флеш и решено было им воспользоваться.

Забегая вперед скажу, что прошивка от Tifa работает, микросхемы 25xxx шьются. Кстати, кроме 25xxx, модифицированный программатор рассчитан на работу с 24xxx и Microwire.

1. Перепрошивка USBasp

Сначала нужно замкнуть контакты J2:

Лично я не просто замкнул, а впаял в контакты переключатель:

При замкнутых контактах J2 (это у меня переключатель в положении вправо) USBasp переходит в режим готовности к перепрошивке.

Сам себя USBap перепрошить не может, поэтому нужен еще один программатор. USBasp как бы оказывается в положении хирурга, который не может сам себе вырезать аппендикс и просит друга помочь. Для перепрошивки USBasp я использовал самодельный программатор AVR910 , но для одного раза можно по-быстрому за пару минут спаять программатор «5 проводков» , который состоит всего-лишь из одного разъема LPT и 5 резисторов.

Подключаем программатор к USBasp:



Теперь идем на форум альтернативной прошивки от Tifa, в самом верхнем посте находим и качаем архив с последней прошивкой и ПО.

Находим там файл mega8.hex, это и есть альтернативная прошивка для USBasp.

Запускаем CodeVisionAvr (я использую версию 2.0.5), выставляем настройки программатора: Settings-> Programmer.

Устанавливаем настройки записи: Tools->Chip programmer. Выбираем чип Atmega8L, именно такой стоит на USBasp. Фьюзы не выставляем- те, что надо, уже прошиты в чипе. Остальные настройки оставляем по умолчанию.

Стираем старую программу USBasp: Program-> Erase chip.

Открываем файл прошивки mega8.hex: File-> Load flash.

Перепрошиваем USBasp: Program-> Flash.

Если прошла запись и не выдало сообщение об ошибке, значит альтернативная прошивка благополучно прошита в USBasp. Теперь USBasp может не только шить AVR-микроконтроллеры, как раньше, но еще и работать с флеш-памятью. Размыкаем контакты J2, что бы USBasp снова перешел в режим программатора.

Теперь проверим, видит ли Windows 7 x86 этот программатор. Вставляем USBasp в USB и… система пишет «USBasp не удалось найти драйвер». Понятно, нужно установить драйвер. Но драйверов в скачанном на форуме нет, их нужно скачать на родном сайте USBasp , оригинальные драйвера подходят и для модифицированного программатора. Скачали, установили, Win7 увидела программатор, все ок. Впрочем, я программирую микроэлектронику на ноутбуке с WinXP, она тоже после установки драйверов видит программатор.

2. Площадка для подключения USBasp к микросхеме 25xxx DIP

Теперь нужно подготовить площадку для программирования 25xxx. Я это сделал на макетной плате по такой схеме:

3. Прошивка микросхем 25xxx через USBasp

Для прошивки 25xxx через модифицированный USBasp используется программа AsProgrammer, которая тоже есть в .

Для примера, поработаем с микросхемой Winbond 25×40. Запускаем AsProgrammer, ставим режим работы SPI и выбираем тип микросхемы: Микросхема-> SPI-> Winbond->…

… и видим, что W25X40 в списке нет. Что же, тогда заполним параметры микросхемы вручную. Находим мануал на Winbond 25X40 и там на странице 4 видим такие параметры:

Эти параметры вносим сюда:

Подключаем USBasp к компьютеру и микросхеме Winbond 25×40:

С помощью кнопок «прочитать», «записать», «стереть», проверяем работу программатора:

Только нужно учесть, что перед тем, как что-то записать в микросхему, сначала нужно выставить: Настройки-> Проверка записи, что бы после записи прошивки в микросхему была выполнена проверка на соответствие того, что писали тому, что в итоге записали. Это немаловажная вещь, потому что если прошивку делать не на очищенный чип, в него запишется чёрт-те что. Поэтому сначала нужно стереть микросхему, а затем только проводить ее запись.

Благодаря прошивке от Tifa дешевый китайский программатор USBasp теперь умеет работать с микросхемами flash-памяти eeprom 25xxx. Теоретически еще может работать c 24xxx и Microwire, но я проверил только работу с 25xxx.

UPD1:
Оказывается, такую же прошивку можно записать и в программатор AVR910. Тогда он тоже будет работать с flash-памятью 25xxx:

Микросхемы разного назначения применяются в составе электроники современной техники. Огромное многообразие такого рода компонентов дополняют микросхемы памяти. Этот вид радиодеталей (среди электронщиков и в народе) зачастую называют просто – чипы. Основное назначение чипов памяти – хранение определённой информации с возможностью внесения (записи), изменения (перезаписи) или полного удаления (стирания) программными средствами. Всеобщий интерес к чипам памяти понятен. Мастерам, знающим как программировать микросхемы памяти, открываются широкие просторы в области ремонта и настройки современных электронных устройств.

Микросхема памяти — это электронный компонент, внутренняя структура которого способна сохранять (запоминать) внесённые программы, какие-либо данные или одновременно то и другое.

По сути, загруженные в чип сведения представляют собой серию команд, состоящих из набора вычислительных единиц микропроцессора.

Следует отметить: чипы памяти всегда являются неотъемлемым дополнением микропроцессоров – управляющих микросхем. В свою очередь микропроцессор является основой электроники любой современной техники.

Набор электронных компонентов на плате современного электронного устройства. Где-то среди этой массы радиодеталей приютился компонент, способный запоминать информацию

Таким образом, микропроцессор управляет , а чип памяти хранит сведения, необходимые микропроцессору.

Программы или данные хранятся в чипе памяти как ряд чисел — нулей и единиц (биты). Один бит может быть представлен логическими нулем (0) либо единицей (1).

В единичном виде обработка битов видится сложной. Поэтому биты объединяются в группы. Шестнадцать бит составляют группу «слов», восемь бит составляют байт — «часть слова», четыре бита — «кусочек слова».

Программным термином для чипов, что используется чаще других, является байт. Это набор из восьми бит, который может принимать от 2 до 8 числовых вариаций, что в общей сложности даёт 256 различных значений.

Для представления байта используется шестнадцатеричная система счисления, где предусматривается использование 16 значений из двух групп:

  1. Цифровых (от 0 до 9).
  2. Символьных (от А до F).

Поэтому в комбинациях двух знаков шестнадцатеричной системы также укладываются 256 значений (от 00h до FFh). Конечный символ «h» указывает на принадлежность к шестнадцатеричным числам.

Организация микросхем (чипов) памяти

Для 8-битных чипов памяти (наиболее распространенный тип) биты объединяются в байты (8 бит) и сохраняются под определённым «адресом».

По назначенному адресу открывается доступ к байтам. Вывод восьми битов адреса доступа осуществляется через восемь портов данных.


Организация структуры запоминающего устройства. На первый взгляд сложный и непонятный алгоритм. Но при желании разобраться, понимание приходит быстро

В этой статье мы с Вами поговорим о том, что положено в основу создания и по какому принципу работает устройство флэш-памяти (не путайте с USB флэш-накопителями и картами памяти). Кроме этого, вы узнаете о ее преимуществах и недостатках перед другими типами ПЗУ (постоянно запоминающими устройствами) и познакомитесь с ассортиментом самых распространенных накопителей, которые содержат в себе флэш-память.

Основное достоинство этого устройства в том, что оно энергонезависимое и ему не нужно электричество для хранения данных. Всю хранящуюся информацию во флэш-памяти можно считать бесконечное количество раз, а вот количество полных циклов записи к сожалению ограничено.

Флэш-память (flash memory) — относится к полупроводникам электрически перепрограммируемой памяти (EEPROM). Благодаря техническим решениям, не высокой стоимости, большому объему, низкому энергопотреблению, высокой скорости работы, компактности и механической прочности, флэш-память встраивают в цифровые портативные устройства и носители информации.

У флэш-памяти перед другими накопителями (жесткие диски и оптические накопители) типа ПЗУ есть как свои преимущества, так и свои недостатки, с которыми вы можете познакомиться из таблицы расположенной ниже.

Тип ПЗУ Преимущества Недостатки
Жесткий диск Большой объем хранимой информации.

Высокая скорость работы.

Дешевизна хранения данных (в расчете на 1 Мбайт).

Большие габариты.

Чувствительность к вибрации.

Тепловыделение.

Оптический диск Удобство транспортировки.

Дешевизна хранения информации.

Возможность тиражирования.

Небольшой объем.

Нужно считывающее устройство.

Ограничения при операциях (чтение, запись).

Невысокая скорость работы.

Чувствительность к вибрации.

Флэш-память Высокая скорость доступа к данным.

Экономное энергопотребление.

Устойчивость к вибрациям.

Удобство подключения к компьютеру.

Компактные размеры.

Ограниченное количество циклов записи.

Сегодня никто не сомневается в том, что флэш-память будет продолжать укреплять свои позиции в информационных технологиях, особенно в линейке мобильных устройств (КПК, планшеты, смартфоны, плееры). На основе флэш-памяти работают самые востребованные и популярные и сменные карты памяти для электронных устройств (SD, MMC, miniSD…).

Карты памяти, как и USB накопители не стоят в стороне, а привлекают внимание потенциальных покупателей своим многообразием. От такого изобилия запоминающих устройств выигрывает только производитель, а потребитель испытывает ряд неудобств. Ведь всем нам знакомы такие ситуации, когда телефону нужна одна карта, КПК другая, фотоаппарату третья. Такой ассортимент накопителей на руку производителям, потому что они извлекают из широкой эксклюзивной продажи большую выгоду. Вот небольшой список распространенных накопителей с флэш-памятью:

  • Compact Flash Type I (CF I)/Type II (CF II);
  • Memory Styck (MS Pro, MS Duo);
  • Secure Digital (SD);
  • miniSD;
  • xD-Picture Card (xD);
  • MultiMedia Card (MMC).
  • USB Flash Drive.

В одной из публикаций я писал о том , а о том как выбрать карту в формате SD (microSD, miniSD) .

Принцип работы флэш-памяти.

Элементарной ячейка хранения данных флэш-памяти представляет из себя транзистор с плавающим затвором. Особенность такого транзистора в том, что он умеет удерживать электроны (заряд). Вот на его основе и разработаны основные типы флэш-памяти NAND и NOR . Конкуренции между ними нет, потому что каждый из типов обладает своим преимуществом и недостатком. Кстати, на их основе строят гибридные версии такие как DiNOR и superAND .

Во флэш-памяти производители используют два типа ячеек памяти MLC и SLC.

  • Флэш-память с MLC(Multi-level cell — многоуровневые ячейки памяти)ячейки более емкие и дешевые, но они с большим временем доступа и меньшим количеством циклов записи/стирания (около 10000).
  • Флэш-память, которая содержит в себе SLC (Single-level cell — одноуровневые ячейки памяти) ячейки имеет максимальное количество циклов записи/стирания(100000) и обладают меньшим временем доступа.

Изменение заряда (запись/стирание) выполняется приложением между затвором и истоком большого потенциала, чтобы напряженность электрического поля в тонком диэлектрике между каналом транзистора и карманом оказалась достаточна для возникновения туннельного эффекта. Для усиления эффекта тунеллирования электронов в карман при записи применяется небольшое ускорение электронов путем пропускания тока через канал полевого транзистора.

Принцип работы флеш-памяти основан на изменении и регистрации электрического заряда в изолированной области («карман») полупроводниковой структуры.

Чтение выполняется полевым транзистором, для которого карман выполняет роль затвора. Потенциал плавающего затвора изменяет пороговые характеристики транзистора, что и регистрируется цепями чтения. Эта конструкция снабжается элементами, которые позволяют ей работать в большом массиве таких же ячеек.

Теперь рассмотрим более подробно ячейки памяти с одним и двумя транзисторами…

Ячейка памяти с одним транзистором.

Если на управляющий затвор подать положительное напряжения (инициализация ячейки памяти) то он будет находиться в открытом состоянии, что будет соответствовать логическому нулю.

А если на плавающий затвор поместить избыточный отрицательный заряд (электрон) и подать положительное напряжение на управляющий затвор ,то он компенсирует создаваемое управляющим затвором электрическое поле и не даст образовываться каналу проводимости, а значит транзистор будет находиться в закрытом состоянии.

Вот так, наличие или отсутствие заряда на плавающем затворе точно определяет состояние открыт или закрыт транзистор, когда подается одно и тоже положительное напряжения на управляющий затвор. Если мы будем рассматривать подачу напряжения на управляющий затвор, как инициализацию ячейки памяти, то по тому, какое напряжение между истоком и стоком можно судить о наличии или отсутствии заряда на плавающем затворе.

Таким образом получается своеобразная элементарная ячейка памяти, способная сохранять один информационный бит. Ко всему этому очень важно, чтобы заряд на плавающем затворе (если он там имеется) мог сохраняться там долго, как при инициализации ячейки памяти, так и при отсутствии напряжения на управляющем затворе. Только в этом случае ячейка памяти будет энергонезависимой.

Так каким же образом в случае необходимости на плавающий затвор помещать заряд (записывать содержимое ячейки памяти) и удалять его оттуда (стирать содержимое ячейки памяти) когда это необходимо.

Поместить заряд на плавающий затвор (процесс записи) можно методом инжекции горячих электронов (CHE-Channel Hot Electrons) или методом туннелирования Фаулера-Нордхейма.

Если используется метод инжекции горячих электронов, то на сток и управляющий затвор подается высокое напряжение, что придаст электронам в канале энергии, достаточной чтобы преодолеть потенциальный барьер, который создается тонким слоем диэлектрика, и направить (туннелировать) в область плавающего затвора (во время чтения на управляющий затвор подается меньшее напряжение и эффект туннелирования не происходит).

Чтобы удалить заряд с плавающего затвора (выполнить стирания ячейки памяти) на управляющий затвор подается высокое отрицательное напряжение (около 9 В), а на область истока подается положительное напряжение. Это приводит к тому, что электроны туннелируют из области плавающего затвора в область истока. Таким образом происходит квантовое туннелирование Фаулера — Нордхейма (Fowler — Nordheim).

Наверно вы уже поняли, что транзистор с плавающим затвором это элементарная ячейка флэш-памяти. Но ячейки с одним транзистором имеют некоторые недостатки, основным из которых является плохая масштабируемость.

Так как при создании массива памяти, каждая ячейка памяти (то есть транзистор) подключается к двум перпендикулярным шинам. Управляющие затворы подключаются к шине, которую называют линией слов (Word Line), а стоки соединяют с шиной, ее называют битовой линией (Bit Line). В следствии чего в схеме находится высокое напряжение и при записи методом инжекции горячих электронов все линии — слов, битов и истоков нужно разместить на большом расстоянии друг от друга. Это даст нужный уровень изоляции, но отразится на ограничении объема флэш-памяти.

Еще одним недостатком такой ячейки памяти является присутствие эффекта избыточного удаления заряда с плавающего затвора, а он не может компенсироваться процессом записи. В следствии этого на плавающем затворе образуется положительный заряд, что делает неизменным состояние транзистора и он всегда остается открытым.

Ячейка памяти с двумя транзисторами.

Двухтранзисторная ячейка памяти, это модифицированная однотранзисторная ячейка, в которой находится обычный КМОП-транзистор и транзистор с плавающим затвором. В этой структуре обычный транзистор выполняет роль изолятора транзистора с плавающим затвором от битовой линии.

Имеет ли преимущества двухтранзисторная ячейка памяти? Да, ведь с ее помощью можно создавать более компактные и хорошо масштабируемые микросхемы памяти, потому что здесь транзистор с плавающим затвором изолируется от битовой линии. Ко всему прочему, в отличии от однотранзисторной ячейки памяти, где информация записывается методом инжекции горячих электронов, в двухтранзисторной ячейки памяти для записи и стирания информации используется метод квантового туннелирования Фаулера — Нордхейма. Такой подход дает возможность снизить напряжение, которое необходимо для операции записи. Забегая наперед скажу, что двухтранзисторные ячейки применяются в памяти со структурой NAND.

Устройство флэш-памяти с архитектурой NOR.

Тип этой памяти является источником и неким толчком в развитии всей EEPROM. Ее архитектура была разработана компанией Intel в далеком 1988 году. Как было написано ранее, чтобы получить доступ к содержимому ячейки памяти (инициализировать ячейку), нужно подать напряжение на управляющий затвор.

Поэтому разработчики компании все управляющие затворы подсоединили к линии управления, которая называется линией слов (Word Line). Анализ информации ячейки памяти выполняется по уровню сигнала на стоке транзистора. Поэтому разработчики все стоки транзисторов подсоединили к линии, которая называется линией битов (Bit Line).

Архитектура NOR получила название благодаря логической операции ИЛИ — НЕ (в переводе с английского NOR). Принцип логической операции NOR заключается в том, что она над несколькими операндами (данные, аргумент операции…) дает единичное значение, когда все операнды равны нулю, и нулевое значение во всех остальных операциях.

В нашем случае под операндами подразумевается значение ячеек памяти, а значит в данной архитектуре единичное значение на битовой линии будет наблюдается только в том случае, когда значение всех ячеек, которые подключены к битовой линии, будут равны нулю (все транзисторы закрыты).

В этой архитектуре хорошо организован произвольный доступ к памяти, но процесс записи и стирания данных выполняется относительно медленно. В процессе записи и стирания применяется метод инжекции горячих электронов. Ко всему прочему микросхема флеш-памяти с архитектурой NOR и размер ее ячейки получается большим, поэтому эта память плохо масштабируется.


Структура шести ячеек NOR Flash

Флеш-память с архитектурой NOR как правило используют в устройствах для хранения программного кода. Это могут быть телефоны, КПК, BIOS системных плат…

Устройство флэш-памяти с архитектурой NAND.

Данный тип памяти был разработан компанией Toshiba. Эти микросхемы благодаря своей архитектуре применяют в маленьких накопителях, которые получили имя NAND (логическая операция И-НЕ). При выполнении операция NAND дает значение нуль только, когда все операнды равны нулю, и единичное значение во всех других случаях.

Как было написано ранее, нулевое значение это открытое состояние транзистора. В следствии этого в архитектуре NAND подразумевается, что битовая линия имеет нулевое значение в том случае, когда все подключенные к ней транзисторы открыты, и значение один, когда хотя бы один из транзисторов закрыт. Такую архитектуру можно построить, если подсоединить транзисторы с битовой линией не по одному (так построено в архитектуре NOR) , а последовательными сериями (столбец из последовательно включенных ячеек).

Данная архитектура по сравнению с NOR хорошо масштабируется потому, что разрешает компактно разместить транзисторы на схеме. Кроме этого архитектура NAND производит запись путем туннелирования Фаулера — Нордхейма, а это разрешает реализовать быструю запись нежели в структуре NOR. Чтобы увеличить скорость чтения, в микросхемы NAND встраивают внутренний кэш.

Как и кластеры жесткого диска так и ячейки NAND группируются в небольшие блоки. По этой причине при последовательном чтении или записи преимущество в скорости будет у NAND. Но с другой стороны NAND сильно проигрывает в операции с произвольным доступом и не имеет возможности работать на прямую с байтами информации. В ситуации когда нужно изменить всего несколько бит, система вынуждена переписывать весь блок, а это если учитывать ограниченное число циклов записи, ведет к большому износу ячеек памяти.


Структура одного столбца NAND Flash

В последнее время ходят слухи о том, что компания Unity Semiconductor разрабатывает флэш-память нового поколения, которая будет построена на технологии CMOx. Предполагается, что новая память придет на смену флеш-памяти типа NAND и преодолеет ее ограничения, которые в памяти NAND обусловлены архитектурой транзисторных структур. К преимуществам CMOx относят более высокую плотность и скорость записи, а также более привлекательную стоимость. В числе областей применения новой памяти значатся SSD и мобильные устройства. Ну, что же правда это или нет покажет время.

Чтобы более детально донести до Вас всю необходимую информацию я разместил видео ролик по теме.

P.S. Объяснить простым языком технический материал людям которые не представляют как построена архитектура компьютера… очень сложно, но я надеюсь у меня это получилось. Для полной и достоверной информации в этой статье я частично использовал учебную литературу. Надеюсь эта статья была для вас полезной и познавательной. Пока!