Флэш-память представляет собой тип долговечной памяти для компьютеров, у которой содержимое можно перепрограммировать или удалить электрическим методом. В сравнении с Electrically Erasable Programmable Read Only Memory действия над ней можно выполнять в блоках, которые находятся в разных местах. Флэш-память стоит намного меньше, чем EEPROM, поэтому она и стала доминирующей технологией. В особенности в ситуациях, когда необходимо устойчивое и длительное сохранение данных. Ее применение допускается в самых разнообразных случаях: в цифровых аудиоплеерах, фото- и видеокамерах, мобильных телефонах и смартфонах, где существуют специальные андроид-приложения на карту памяти. Кроме того, используется она и в USB-флешках, традиционно применяемых для сохранения информации и ее передачи между компьютерами. Она получила определенную известность в мире геймеров, где ее часто задействуют в промах для хранения данных по прогрессу игры.

Общее описание

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

Низкоуровневый доступ к данным

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

Устройство и принцип работы

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

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

В большинстве портативных устройств твердотельный накопитель использует тип памяти NOR. Однако сейчас все популярнее становятся приспособления с интерфейсом USB. В них применяется память типа NAND. Постепенно она вытесняет первую.

Главная проблема — недолговечность

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

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

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

Устранение проблем

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

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

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

Перспективы развития

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

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

Ferroelectric RAM (FRAM)

Технология ферроэлектрического принципа хранения информации (Ferroelectric RAM, FRAM) предлагается с целью наращивания потенциала энергонезависимой памяти. Принято считать, что механизм работы имеющихся технологий, заключающийся в перезаписи данных в процессе считываниям при всех видоизменениях базовых компонентов, приводит к определенному сдерживанию скоростного потенциала устройств. А FRAM - это память, характеризующаяся простотой, высокой надежностью и скоростью в эксплуатации. Эти свойства сейчас характерны для DRAM - энергонезависимой оперативной памяти, существующей на данный момент. Но тут добавится еще и возможность длительного хранения данных, которой характеризуется Среди достоинств подобной технологии можно выделить стойкость к разным видам проникающих излучений, что может оказаться востребованным в специальных приборах, которые используются для работы в условиях повышенной радиоактивности либо в исследованиях космоса. Механизм хранения информации здесь реализуется за счет применения сегнетоэлектрического эффекта. Он подразумевает, что материал способен сохранять поляризацию в условиях отсутствия внешнего электрического поля. Каждая ячейка памяти FRAM формируется за счет размещения сверхтонкой пленки из сегнетоэлектрического материала в виде кристаллов между парой плоских металлических электродов, формирующих конденсатор. Данные в этом случае хранятся внутри кристаллической структуры. А это предотвращает эффект утечки заряда, который становится причиной утраты информации. Данные в FRAM-памяти сохраняются даже при отключении напряжения питания.

Magnetic RAM (MRAM)

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

Ovonic Unified Memory (OUM)

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

Chalcogenide RAM (CRAM) и Phase Change Memory (PRAM)

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

Information-Multilayered Imprinted CArd (Info-MICA)

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

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

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

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

Для целей долгосрочного хранения информации в настоящее время используются в основном два вида энергонезависимой памяти — это EEPROM и FLASH (см. рис. 1). И неизменным лидером в производстве микросхем памяти все это время остается компания STMicroelectronics. Рассмотрим варианты EEPROM и FLASH на примере микросхем, выпускаемых этой компанией.

Рис. 1.

Любая микросхема памяти отвечает требованиям быстродействия, времени хранения информации и стоимости. Помимо этого, на выбор того или иного вида памяти влияют несколько моментов:

Порядок запоминания информации:

  • по одному байту информации в нужный момент;
  • большими блоками информации.

Тип доступа к памяти:

  • через параллельную шину;
  • через последовательную шину.

Дополнительные требования:

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

Существуют микросхемы, которые обладают наилучшими характеристиками, такими как:

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

Однако цена такого устройства не будет низкой.

Если основным требованием к устройству является хранение ограниченных объемов информации (калибровочные таблицы сенсоров, серийные номера плат, небольшие объемы данных [несколько номеров телефонов для DECT, некоторые параметры статуса, может быть даже несколько строк кода]), то удачное решение для такого случая — EEPROM-память, которая используется почти везде. При этом, как правило, используются EEPROM с последовательным интерфейсом, потому что с параллельным уже практически не выпускаются. Такая память допускает перепрограммирование одного произвольного байта информации без необходимости предварительного стирания. В номенклатуре ST присутствует широкий выбор EEPROM:

  • объемом от 1 Кбит до 1 Мбит;
  • диапазоны питающих напряжений с низким потреблением от 2,5 до 5,5 В и от 1,8 до 5,5 В;
  • три стандартных последовательных шины I 2 C, SPI, MICROWIRE ® ;
  • 1 миллион циклов записи/стирания как стандартное значение;
  • время хранения данных — больше 40 лет;
  • промышленный и автомобильный температурный диапазон;
  • минимальные посадочные площадки, включая MSOP8, TSSOP8 и уникальный по размерам UFDFPN8 (2×3 мм) корпуса.

На табл. 1 приведена номенклатура выпускаемой памяти EEPROM.

Таблица 1. Микросхемы памяти EEPROM

Наименование Тип
интерфейса
Размер, кб Напряжение
питания, В
Диапазон
температур, °С
Типы
корпусов
M24Cxxx I 2 C 1…64 1,8…5,5 2,5…5,5 -40…85
-40…125
DIP8, SO8, MSOP8, TSSOP8
M93Cxxx Microwire 1…16 2,5…5,5 4,5…5,5 -40…125 DIP8, SO8, TSSOP8
M95xxx SPI 1…512 1,8…5,5 2,5…5,5 -40…85
-40…125
SO8, TSSOP8

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

Рис. 2.

Почему последовательный интерфейс?

  • уменьшается стоимость контроллера, меньше выводов;
  • уменьшается занимаемое место на печатной плате, размер корпуса;
  • уменьшается стоимость памяти (в среднем);
  • увеличивается гибкость по плотности памяти (не нужно менять плату, если нужен больший объем памяти, достаточно установить на то же посадочное место кристалл памяти большего объема);
  • содержимое загружается для выполнения в ОЗУ (хранение кода программы).

Основные направления развития последовательной памяти таковы:

  • переход на продукты с высокой плотностью;
  • необходимость в высокоскоростной последовательной передаче данных;
  • миниатюрный, с малым количеством выводов недорогой корпус.

В табл. 2 представлены доступные типы и семейства памяти NOR FLASH.

Таблица 2. Микросхемы памяти NOR FLASH

Название ядра
микросхемы
Интерфейс Размер, Мб Напряжение
питания, В
Темпера-
турный
диапазон,
°С
Тип
корпуса
M29Fxxx Параллельный 1…32 4,5…5,5 -40…85 PLCC32, TSOP32, SO44
M28Wxxx Параллельный 16…64 2,7…3,6 -40…85 TFBGA48, TSOP48
M25Pxxx Последовательный 0,5…128 2,7…3,6 -40…85 SO8, TSSOP8, SO16, VFQFPN8
M45Pexxx Последовательный 1…16 2,7…3,6 -40…85 SO8, VFQFPN8

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

Преимущество этого типа памяти — относительная дешевизна в пересчете на объем доступной памяти. ST производит FLASH NAND объемом от 128 Мбит до 8 Гбит и больше, с различными размерами страниц: 528 байт/264 слова и 2112 байт/1056 слов, с независящим от плотности памяти посадочным местом, питанием 1,8 В и 3 В и в разнообразных корпусах.

NAND FLASH используется также и в картах памяти SD, Compact Flash, MMC, которые также выпускает ST.

Отдельно можно отметить особый тип памяти, который выпускается ST — так называемая NVRAM.

NVRAM — это устройства энергонезависимого (благодаря встроенной литиевой батарее) статического ОЗУ — устройство ZEROPOWER co всеми присущими ему свойствами такими, как скорость записи и неограниченный ресурс (семейство М48Z). Батарея соединяется с корпусом микросхемы посредством технологии SNAPHAT ® — инновационного и дешевого решения для поверхностного монтажа продуктов компании ST.

Кроме этого ST выпускает по той же технологии устройства TIMEKEEPER, которые имеют емкость памяти от 1 кбит до 4 Мбит и включают в себя еще и энергонезависимые часы реального времени (семейство М48Т). Имеются также функционально насыщенные TIMEKEEPER Supervisors, предлагающие такие полезные функции как RTC, POR/LVD, Power-Fail Warning, Battery Monitor, Battery Switchover и Write Protection.

С полным перечнем предлагаемых ST микросхем памяти можно ознакомиться на сайте: http://www.st.com/stonline/products/families/memories/memory/index.htm .

Получение технической информации, заказ образцов, поставка —
e-mail:

Датчик движения широкого применения

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

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

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

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

Цифровой выход, реализованный в виде стандартных интерфейсов SPI/I 2 C (можно выбирать), делает датчик эффективным в использовании и легко интегрируемым в систему.

LIS202DL помещен в миниатюрный пластиковый корпус размерами 5х3х0,9 мм, который можно разместить практически в любом месте, ограниченном малыми размерами.

В этой статье мы с Вами поговорим о том, что положено в основу создания и по какому принципу работает устройство флэш-памяти (не путайте с 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. Объяснить простым языком технический материал людям которые не представляют как построена архитектура компьютера… очень сложно, но я надеюсь у меня это получилось. Для полной и достоверной информации в этой статье я частично использовал учебную литературу. Надеюсь эта статья была для вас полезной и познавательной. Пока!

Иногда при разработке устройства возникает потребность сохранять какие-либо данные в энергонезависимую память. В таких случаях обычно используют внутреннюю EEPROM микроконтроллера. Если её недостаточно, то как правило применяются внешние микросхемы EEPROM из серии 24lxx. Микросхемы этой серии очень популярны. Чаще всего их можно встретить в старых мобильных телефонах, некоторых материнских платах, картриджах от принтеров да еще много где. Цена данных микросхем тоже очень привлекательная. Например 24LC16 у нас стоит 11 рублей.
Данная микросхема выпускается в различных корпусах, самые популярные из которых это DIP и SOIC. Микросхема имеет следующую распиновку:

Как видите выводов совсем немного. Итак попробуем разобраться для что к чему.
A0, A1, A2 — в данной микросхеме не используются. Их можно подсоединить к земле или к плюсу питания. В некоторых других микросхемах серии 24lxx, этими выводами можно задавать адрес микросхемы, для того чтобы можно было подсоединить на одну шину i2c аж сразу 8 микрух памяти.
Vss — земля.
SDA — линия данных
SCL — линия тактовых импульсов
WP — Защита от записи. Когда на данном выводе логический 0, то запись в память разрешена. Если подать логическую единицу, то возможно только чтение из памяти.
Vcc — питание микросхемы. Согласно даташиту питается она напряжением от 2.5 вольта до 5.5 вольта.

Подключение к контроллеру.
Подключить память к МК очень просто. Из обвязки потребуются только пара резисторов сопротивлением около 4.7 кОм.

Программное обеспечение

Для работы с памятью была разработана библиотека реализующая следующие функции:

i2c_init — настраивает скорость тактовых импульсов идущих по линии SCL.

Микросхема 24LC16 поддерживает частоту до 400 кГц. Рассчитать частоту можно так:

CPU Clock frequency — частота на которой работает микроконтроллер

TWBR — число записанное в одноименный регистр.

TWPS — предделитель. Значения предделителя задаются битами TWPS1 и TWPS0 в регистре TWSR

Для контроллера Atmega 32 справедлива такая таблица:

i2c_start — отсылает стартовую посылку

i2c_stop — отсылает стоповую посылку

i2c_send — отсылает байт

i2c_recive — принимает байт

i2c_recive_last — принимает последний байт. Отличие от предыдущей функции состоит в том, что когда байт принят, микроконтроллер не отсылает бит подтверждения. Если при приёме последнего байта использовать i2c_recive то линия SDA останется прижатой к земле.

Запись данных в микросхему памяти

Записывать данные можно как в произвольном порядке так и постранично. Поскольку на шине i2c могут быть сразу несколько устройств, то для того чтобы обратится к какому либо устройству нужно знать его семибитный адрес. Адрес микросхемы 24LC16 в двоичном виде выглядит так:

Биты A,B,C служат для выбора блока памяти. Блоков памяти в микросхеме 8 штук по 256 байт каждый. Соответственно биты ABC принимают значения от 000 до 111.

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

  1. Инициализировать интерфейс i2c
  2. Отослать стартовую посылку
  3. Отослать адрес микросхемы+адрес блока памяти
  4. Отослать адрес ячейки памяти в которую будет производится запись
  5. Отослать байт данных
  6. Отослать стоповую посылку

Пример: Нужно записать байт 0xFA по адресу 0x101 .

rcall i2c_init
rcall i2c_start
ldi temp,0b 1010 001 0 //Адрес микросхемы где:
// 1010 - адрес микросхемы
// 001 - адрес блока памяти (Ячейка 0x101 принадлежит блоку 1)
// 0
rcall i2c_send
ldi temp,1 //Адрес ячейки памяти. (блок 1, ячейка 1)
rcall i2c_send
ldi temp,0xFA //Загружаем в регистр байт который нужно записать
rcall i2c_send //Записываем байт
rcall i2c_stop

Записывать данные в память можно не только побайтно но и постранично. Размер страницы — 16 байт. Постараничная запись подразумевает следующее: Отправляем адрес нулевого байта нужной страницы и после этого 16 раз отправляем нужные данные. Счётчик адреса будет увеличивать на единицу автоматически. Если отправить данные в 17-й раз, то будет перезаписан нулевой байт, если отправить байт 18-й раз, то он затрет байт номер 1 итд.

Пример : Требуется записать первую страницу блока 0.

rcall i2c_init //Инициализируем интерфейс i2c
rcall i2c_start // Отправляем стартовую посылку
ldi temp,0b 1010 000 0 //Адрес микросхемы где:
// 1010 - адрес микросхемы
// 000 - адрес блока памяти (нас интересует нулевой блок)
// 0 - бит чтения/записи. 0 - запись, 1 - чтение
rcall i2c_send
ldi temp,16 //Адрес первой страницы
rcall i2c_send
ldi temp,0x01 //Загружаем в регистр байт номер 0
rcall i2c_send //Записываем байт
ldi temp,0x02 //Загружаем в регистр байт номер 1
rcall i2c_send //Записываем байт
/// тут пишем остальные байты.....
ldi temp,0x0E //Загружаем в регистр байт номер 14
rcall i2c_send //Записываем байт
ldi temp,0x0F //Загружаем в регистр байт номер 15
rcall i2c_send //Записываем байт
rcall i2c_stop //Отправляем стоповую посылку

Чтение данных из микросхемы
С записью вроде разобрались, теперь приступим к чтению. Чтобы прочитать байт нужно сделать следующее:

  1. Инициализировать интерфейс i2c (если он не инициализировался ранее)
  2. Отправить стартовую посылку
  3. Отправить адрес микросхемы и адрес блока памяти откуда будем читать
  4. Отправить адрес ячейки памяти
  5. Отправить стартовую посылку повторно
  6. Отправить адрес микросхемы и адрес блока памяти с битом «чтение»
  7. Получить байт
  8. Отправить стоповую посылку

rcall i2c_init //Инициализируем интерфейс i2c
rcall i2c_start // Отправляем стартовую посылку
ldi temp,0b1010 011 0 //Адрес микросхемы + адрес 3-го блока памяти.
//Бит чтение/запись по прежнему 0 !
rcall i2c_send
ldi temp,0x41 //Адрес ячейки памяти
rcall i2c_send
rcall i2c_start //Повторная отправка стартовой посылки
ldi temp,0b1010 011 1 //Адрес микросхемы+адрес блока памяти+бит чтения/записи стал 1
rcall i2c_send //теперь можно читать данные
rcall i2c_recive_last //Читаем байт. Первый и последний.
rcall i2c_stop //Отправляем стоповую посылку

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

Библиотека для работы с i2c разрабатывалась и была испытана на микроконтроллере Atmega32. Я думаю что она будет работать на многих других контроллерах без каких либо изменений. Естественно в контроллере должна быть аппаратная поддержка i2c или как его еще называют TWI. Конечно реализовать i2c можно и программно, но я не стал заморачиваться да и не было нужды. Демонстрационный пример представляет собой программу которая записывает по первым 16 адресам байты от 0 до 15, а после записи выводит их в порт A. Наблюдать как это работает можно не только в живую но и в Proteus’е.

Ну и напоследок прикладываю осциллограмму:

Вот так выглядит шина i2c глазами моего :-)
Все вопросы и предложения жду в комментариях.

Современному человеку нравится быть мобильным и иметь при себе различные высокотехнологичные гаджеты (англ. gadget - устройство), облегчающие жизнь, да что там скрывать, делающие ее более насыщенной и интересной. И появились-то они всего за 10-15 лет! Миниатюрные, легкие, удобные, цифровые… Всего этого гаджеты достигли благодаря новым микропроцессорным технологиям, но все же больший вклад был сделан одной замечательной технологией хранения данных, о которой сегодня мы и будем говорить. Итак, флэш-память.

Бытует мнение, что название FLASH применительно к типу памяти переводится как «вспышка». На самом деле это не совсем так. Одна из версий его появления говорит о том, что впервые в 1989-90 году компания Toshiba употребила слово Flash в контексте «быстрый, мгновенный» при описании своих новых микросхем. Вообще, изобретателем считается Intel, представившая в 1988 году флэш-память с архитектурой NOR. Годом позже Toshiba разработала архитектуру NAND, которая и сегодня используется наряду с той же NOR в микросхемах флэш. Собственно, сейчас можно сказать, что это два различных вида памяти, имеющие в чем-то схожую технологию производства. В этой статье мы попытаемся понять их устройство, принцип работы, а также рассмотрим различные варианты практического использования.

NOR

С помощью нее осуществляется преобразование входных напряжений в выходные, соответствующие «0» и «1». Они необходимы, потому что для чтения/записи данных в ячейке памяти используются различные напряжения. Схема ячейки приведена на рисунке ниже.

Она характерна для большинства флэш-чипов и представляет из себя транзистор с двумя изолированными затворами: управляющим (control) и плавающим (floating). Важной особенностью последнего является способность удерживать электроны, то есть заряд. Также в ячейке имеются так называемые «сток» и «исток». При программировании между ними, вследствие воздействия положительного поля на управляющем затворе, создается канал - поток электронов. Некоторые из электронов, благодаря наличию большей энергии, преодолевают слой изолятора и попадают на плавающий затвор. На нем они могут храниться в течение нескольких лет. Определенный диапазон количества электронов (заряда) на плавающем затворе соответствует логической единице, а все, что больше его, - нулю. При чтении эти состояния распознаются путем измерения порогового напряжения транзистора. Для стирания информации на управляющий затвор подается высокое отрицательное напряжение, и электроны с плавающего затвора переходят (туннелируют) на исток. В технологиях различных производителей этот принцип работы может отличаться по способу подачи тока и чтению данных из ячейки. Хочу также обратить ваше внимание на то, что в структуре флэш-памяти для хранения 1 бита информации задействуется только один элемент (транзистор), в то время как в энергозависимых типах памяти для этого требуется несколько транзисторов и конденсатор. Это позволяет существенно уменьшить размеры выпускаемых микросхем, упростить технологический процесс, а, следовательно, и снизить себестоимость. Но и один бит далеко не предел: Intel уже выпускает память StrataFlash , каждая ячейка которой может хранить по 2 бита информации. Кроме того, существуют пробные образцы, с 4-х и даже 9-битными ячейками! В такой памяти используются технология многоуровневых ячеек. Они имеют обычную структуру, а отличие заключается в том, что заряд их делится на несколько уровней, каждому из которых в соответствие ставится определенная комбинация бит. Теоретически прочитать/записать можно и более 4-х бит, однако, на практике возникают проблемы с устранением шумов и с постепенной утечкой электронов при продолжительном хранении. Вообще, у существующих сегодня микросхем памяти для ячеек характерно время хранения информации, измеряемое годами и число циклов чтения/записи - от 100 тысяч до нескольких миллионов. Из недостатков, в частности, у флэш-памяти с архитектурой NOR стоит отметить плохую масштабируемость: нельзя уменьшать площадь чипов путем уменьшения размеров транзисторов. Эта ситуация связана со способом организации матрицы ячеек: в NOR архитектуре к каждому транзистору надо подвести индивидуальный контакт. Гораздо лучше в этом плане обстоят дела у флэш-памяти с архитектурой NAND.

NAND

Устройство и принцип работы ячеек у нее такой же, как и у NOR. Хотя, кроме логики, все-таки есть еще одно важное отличие - архитектура размещения ячеек и их контактов. В отличие от вышеописанного случая, здесь имеется контактная матрица, в пересечениях строк и столбцов которой располагаются транзисторы. Это сравнимо с пассивной матрицей в дисплеях:) (а NOR - с активной TFT). В случае с памятью такая организация несколько лучше - площадь микросхемы можно значительно уменьшить за счет размеров ячеек. Недостатки (куда уж без них) заключаются в более низкой по сравнению с NOR скорости работы в операциях побайтового произвольного доступа.

Существуют еще и такие архитектуры как: DiNOR (Mitsubishi), superAND (Hitachi) и пр. Принципиально нового ничего они не представляют, а лишь комбинируют лучшие свойства NAND и NOR.

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

Где нужна память…

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

  1. считать в буфер блок информации, в котором он находится
  2. в буфере изменить нужный байт
  3. записать блок с измененным байтом обратно

Если еще ко времени выполнения перечисленных операций прибавить задержки на выборку блока и на доступ, то получим отнюдь неконкурентоспособные с NOR показатели (отмечу, что именно для случая побайтовой записи). Другое дело последовательная запись/чтение - здесь NAND наоборот показывает значительно более высокие скоростные характеристики. Поэтому, а также из-за возможностей увеличения объема памяти без увеличения размеров микросхемы, NAND-флэш нашел применение в качестве хранителя больших объемов информации и для ее переноса. Наиболее распространенные сейчас устройства, основанные на этом типе памяти, это флэшдрайвы и карты памяти. Что касается NOR-флэша, то чипы с такой организацией используются в качестве хранителей программного кода (BIOS, RAM карманных компьютеров, мобилок и т. п.), иногда реализовываются в виде интегрированных решений (ОЗУ, ПЗУ и процессор на одной мини-плате, а то и в одном чипе). Удачный пример такого использования - проект Gumstix: одноплатный компьютер размером с пластинку жвачки. Именно NOR-чипы обеспечивают требуемый для таких случаев уровень надежности хранения информации и более гибкие возможности по работе с ней. Объем NOR-флэш обычно измеряется единицами мегабайт и редко переваливает за десятки.

И будет флэш…

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

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

Пока что, так называемые on-chip (single-chip) системы представляют собой комбинации в одном чипе флэш-памяти с контроллером, процессором, SDRAM или же со специальным ПО. Так, например, Intel StrataFlash в сочетании с ПО Persistent Storage Manager (PSM) дает возможность использовать объем памяти одновременно как для хранения данных, так и для выполнения программного кода. PSM по сути дела является файловой системой, поддерживающейся ОС Windows CE 2.1 и выше. Все это направлено на снижение количества компонентов и уменьшение габаритов мобильных устройств с увеличением их функциональности и производительности. Не менее интересна и актуальна разработка компании Renesas - флэш-память типа superAND с встроенными функциями управления. До этого момента они реализовывались отдельно в контроллере, а теперь интегрированы прямо в чип. Это функции контроля бэд-секторов, коррекции ошибок (ECC - error check and correct), равномерности износа ячеек (wear leveling). Поскольку в тех или иных вариациях они присутствуют в большинстве других брендовых прошивок внешних контроллеров, давайте вкратце их рассмотрим. Начнем с бэд-секторов. Да, во флэш-памяти они тоже встречаются: уже с конвейера сходят чипы, имеющие в среднем до 2% нерабочих ячеек - это обычная технологическая норма. Но со временем их количество может увеличиваться (окружающую среду в этом винить особо не стоит - электромагнитное, физическое (тряска и т. п.) влияние флэш-чипу не страшно). Поэтому, как и в жестких дисках, во флэш-памяти предусмотрен резервный объем. Если появляется плохой сектор, функция контроля подменяет его адрес в таблице размещения файлов адресом сектора из резервной области.


Собственно, выявлением бэдов занимается алгоритм ECC - он сравнивает записываемую информацию с реально записанной. Также в связи с ограниченным ресурсом ячеек (порядка нескольких миллионов циклов чтения/записи для каждой) важно наличие функции учета равномерности износа. Приведу такой редкий, но встречающийся случай: брелок с 32 Мбайт, из которых 30 Мбайт заняты, а на свободное место постоянно что-то записывается и удаляется. Получается, что одни ячейки простаивают, а другие интенсивно исчерпывают свой ресурс. Чтобы такого не было, в фирменных устройствах свободное пространство условно разбивается на участки, для каждого из которых осуществляется контроль и учет количества операций записи.

Еще более сложные конфигурации класса «все-в-одном» сейчас широко представлены такими компаниями как, например, Intel, Samsung, Hitachi и др. Их изделия представляют собой многофункциональные устройства, реализованные в одной лишь микросхеме (стандартно в ней имеется процессор, флэш-память и SDRAM). Ориентированы они на применение в мобильных устройствах, где важна высокая производительность при минимальных размерах и низком энергопотреблении. К таким относятся: PDA, смартфоны, телефоны для сетей 3G. Приведу пример подобных разработок - чип от Samsung, объединяющий в себе ARM-процессор (203 МГц), 256 Мбайт NAND памяти и 256 SDRAM. Он совместим с распространенными ОС: Windows CE, Palm OS, Symbian, Linux и имеет поддержку USB. Таким образом на его основе возможно создание многофункциональных мобильных устройств с низким энергопотреблением, способных работать с видео, звуком, голосом и прочими ресурсоемкими приложениями.

Другим направлением совершенствования флэш является уменьшение энергопотребления и размеров с одновременным увеличением объема и быстродействия памяти. В большей степени это касается микросхем с NOR архитектурой, поскольку с развитием мобильных компьютеров, поддерживающих работу в беспроводных сетях, именно NOR-флэш, благодаря небольшим размерам и малому энергопотреблению, станет универсальным решением для хранения и выполнения программного кода. В скором времени в серийное производство будут запущены 512 Мбит чипы NOR той же Renesas. Напряжение питания их составит 3,3 В (напомню, хранить информацию они могут и без подачи тока), а скорость в операциях записи - 4 Мбайт/сек. В то же время Intel уже представляет свою разработку StrataFlash Wireless Memory System (LV18/LV30) - универсальную систему флэш-памяти для беспроводных технологий. Объем ее памяти может достигать 1 Гбит, а рабочее напряжение равно 1.8 В. Технология изготовления чипов - 0,13 нм, в планах переход на 0,09 нм техпроцесс. Среди инноваций данной компании также стоит отметить организацию пакетного режима работы с NOR-памятью. Он позволяет считывать информацию не по одному байту, а блоками - по 16 байт: с использованием 66 МГц шины данных скорость обмена информацией с процессором достигает 92 Мбит/с!

Что ж, как видите, технология развивается стремительно. Вполне возможно, что к моменту выхода статьи появится еще что-нибудь новенькое. Так что, если что - не взыщите:) Надеюсь, материал был вам интересен.