Что такое Flash Memory? Типы Flash-памяти

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

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

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

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

Создадим между стоком и истоком разность потенциалов и подадим положительный потенциал на затвор. Что тогда произойдет? Правильно, через полевой транзистор, от стока к истоку потечет ток. Причем величина тока достаточно велика для того, чтобы “пробить” диэлектрик. В результате этого пробоя часть электронов попадет на плавающий затвор. Отрицательно заряженный плавающий затвор создает электрическое поле, которое начинает препятствовать протеканию тока в канале, в результате чего транзистор закрывается. И если отключить питание транзистора, электроны с плавающего затвора никуда не денутся и его заряд останется неизменным на долгие годы.

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

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

С сохранением информации разобрались, осталось понять как нам считать информацию из транзистора с плавающим затвором. А все очень просто. При наличии заряда на плавающем затворе его электрическое поле препятствует протеканию тока стока. Допустим при отсутствии заряда мы могли подавать на “основной” затвор напряжение +5В, и при этом в цепи стока начинал протекать ток. При заряженном плавающем затворе такое напряжение не сможет заставить ток течь, поскольку электрическое поле плавающего затвора будет ему мешать. В этом случае ток потечет только при напряжении +10В (к примеру =)). Таким образом, мы получаем два пороговых значения напряжения. И, подав, к примеру +7.5В мы сможем по наличию или отсутствию тока стока сделать вывод о наличии или отсутствии заряда на плавающем затворе. Вот таким образом и происходит считывание сохраненной информации.

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

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

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

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

С NAND все несколько сложнее. Если возвращаться к аналогии с массивом, то ячейки NAND-памяти представляют собой трехмерный массив. То есть к каждой линии битов подключен не один, а сразу несколько транзисторов, что в итоге приводит к уменьшению количества проводников и увеличению компактности. Это как раз и является одним из главных преимуществ NAND-памяти. Но как же нам считать состояние определенного транзистора при такой структуре? Для понимания процесса рассмотрим схему:

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

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

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

Такая вот получилась статейка сегодня) Разобрались мы с принципом работы и основными типами Flash, а также с устройством и принципом работы NAND и NOR-памяти. Надеюсь, что статья окажется полезной и понятной, до скорых встреч!

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

Определение 1

Флеш-память (Flash Memory) – твердотельная полупроводниковая энергонезависимая и перезаписываемая память.

Считывать информацию из флэш-памяти можно большое число раз в пределах срока работы накопителя (от $10$ лет), но количество процессов записи ограничено (около $100 \ 000$ циклов перезаписи).

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

Преимущества флэш-памяти:

  • высокая скорость доступа к данным;
  • низкое энергопотребление;
  • устойчивость к вибрациям;
  • удобство подключения к ПК;
  • компактные размеры;
  • дешевизна.

Недостатки флэш-памяти:

  • ограниченное число циклов записи;
  • чувствительность к электростатическому разряду.

История флэш-памяти

Впервые флэш-память была изобретена в $1984$ г.

Название «flash» походит от английского «вспышка», т.к. процесс стирания данных напоминал фотовспышку.

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

Принцип работы

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

Рисунок 1. Архитектура NOR-памяти

Рисунок 2. Архитектура NAND-памяти

Производители флэш-памяти используют $2$ типа ячеек памяти:

  • MLC (Multi-Level Cell – многоуровневые ячейки памяти) – более емкие ячейки и более дешевые, но характеризуются большим временем доступа и небольшим числом циклов записи/стирания (около $10 \ 000$);
  • SLC (Single-Level Cell – одноуровневые ячейки памяти) – ячейки с меньшим временем доступа и максимальным числом циклов записи/стирания ($100 \ 000$).

Рисунок 3. Основные элементы USB-флэш-накопителя: $1$ – USB-коннектор, $2$ – контроллер, $3$ – PCB-плата, $4$ – модуль NAND-памяти, $5$ – кварцевый генератор, $6$ – LED-индикатор, $7$ – переключатель защиты от записи, $8$ – место для дополнительной микросхемы памяти.

Применение

Существует два основных способа применения флэш-памяти:

  • в качестве мобильного носителя информации;
  • в качестве хранилища программного обеспечения цифровых устройств.

Часто оба способа совмещают в одном устройстве.

Применение NOR-памяти, которая имеет относительно небольшой объём, заключается в обеспечении быстрого доступа по случайным адресам и гарантии отсутствия сбойных элементов (стандартные микросхемы ПЗУ для работы с микропроцессором, микросхемы начальной загрузки компьютеров (POST и BIOS), микросхемы хранения среднего размера данных, например, DataFlash). Типовые объёмы – от $100$ Кб до $256$ Мб. NAND-память применяется в мобильных устройствах и носителях данных, которые требуют использования больших объёмов хранения. В основном, это USB-брелоки и карты памяти всех типов, а также мобильные устройства (телефоны, фотоаппараты, плееры). NAND-память встраивают в бытовые приборы: сотовые телефоны и телевизоры, сетевые маршрутизаторы, точки доступа, игровые приставки, фоторамки и навигаторы.

Рисунок 4. Флэш-карты разных типов

Виды и типы карт памяти и флэш-накопителей

Замечание 1

CF (Compact Flash) – старейший стандарт типов памяти. Обладает высокой надежность, достаточно большой объем ($128$ Гб и больше) и высокую скорость передачи данных ($120$ Мб/с). Из-за больших размеров применяется в профессиональном видео- и фотооборудовании.

MMC (Multimedia Card) обладает небольшим размером, высокой совместимостью с различными устройствами и содержит контроллер памяти. SD Card (Secure Digital Card) – результат развития стандарта MMC. Карта имеет криптозащиту от несанкционированного копирования, повышенную защиту информации от случайного стирания или разрушения и механический переключатель защиты от записи. Максимальная емкость до $4$ Гб. SDHC (SD High Capacity) имеет максимальную емкость $32$ Гб.

Существуют также карты miniSD и microSD.

Замечание 2

Основными производителями NAND-флэш-памяти являются фирмы Micron/Intel, SK Hynix, Toshiba/SanDisk, Samsung. Основные производители контроллеров флэш-памяти NAND – Marvell, LSI-SandForce и производители памяти NAND.

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

Что такое флеш-память?

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

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

  1. Компактность.
  2. Дешевизна.
  3. Механическая прочность.
  4. Большой объем.
  5. Скорость работы.
  6. Низкое энергопотребление.

Благодаря этому всему флеш-память можно найти во многих цифровых портативных устройствах, а также в ряде Увы, есть и недостатки, такие как ограниченный срок технической эксплуатации носителя и чувствительность к электростатическим разрядам. А вот какая емкость у флеш-памяти? Вряд ли сможете угадать, но попробуйте. может достигать огромных размеров: так, несмотря на малые размеры, носители данных на 128 Гб в свободной продаже сейчас мало кого смогут удивить. Недалеко уже тот момент, когда 1 Тб слабо будет интересовать.

История создания

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

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

Принцип действия

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

NOR- и NAND-приборы

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

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

SLC- и MLC-приборы

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

Аудиопамять

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

Технологические ограничения

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

Ресурс записи

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

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

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

Срок хранения данных

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

Заключение

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

В основе любой flash-памяти лежит кристалл кремния, на котором сформированы не совсем обычные полевые транзисторы. У такого транзистора есть два изолиро­ванных затвора: управляющий (control) и плавающий (floating). Последний спо­собен удерживать электроны, то есть заряд. В ячейке, как и у любого полевого транзистора, есть сток и исток (рис. 4.1). В процессе записи на управляющий затвор подается положительное напряжение и часть электронов, движущихся от стока к истоку, отклоняется к плавающему затвору. Некоторые из электронов преодоле­вают слой изолятора и проникают (диффундируют) в плавающий затвор. В нем они могут оставаться в течение многих лет.

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

Рис. 4.1. Ячейка flash-памяти

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

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

По той же причине ограничено количество циклов записи-перезаписи: от ста тысяч до нескольких миллионов. Со временем неизбежно происходит деграда­ция самого материала и р-п-переходов. Например, карты Kingston Compact Flash рассчитаны на 300 ООО циклов перезаписи. Transcend Compact Flash - на

1 ООО ООО, а flash-диск Transcend 32 Gb USB – всего на 100 ООО.

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

Память NOR (ИЛИ-НЕ) позволяет обращаться к ячейкам по одной. К каждой ячейке подходит отдельный проводник. Адресное пространство NOR-памяти позволяет работать с отдельными байтами или словами (каждое слово содержит

2 байта). Такая архитектура накладывает серьезные ограничения на максималь­ный объем памяти на единице площади кристалла. Память NOR сегодня используется лишь в микросхемах BIOS и других ПЗУ малой емкости, например в сотовых телефонах.

В памяти архитектуры NAND (И-НЕ) каждая ячейка оказывается на пересече­нии «линии бит» и «линии слов». Ячейки группируются в небольшие блоки по аналогии с кластером жесткого диска. И считывание, и запись осуществляются лишь целыми блоками или строками. Все современные съемные носители по­строены на памяти NAND.

Крупнейшими производителями NAND-чипов являются компании Intel, Micron Technology, Sony и Samsung. Ассортимент выпускаемых чипов довольно велик, а обновление его происходит несколько раз в год.

Контроллеры

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

Контроллеры разрабатываются и выпускаются под совершенно определенные микросхемы flash-памяти. Способ адресации ячеек конструктивно заложен в кон­троллере. Данные при записи в микросхему flash-памяти располагаются опреде­ленным способом, меняющимся от модели к модели. Производители эти тонкости держат в секрете и, по всей видимости, раскрывать не планируют. Очевидно, мик­ропрограмм контроллеров создается значительно больше, чем самих моделей кон­троллеров. Микропрограмма контроллера (прошивка) и таблица трансляции ад­ресов (транслятор) записываются в служебную область flash-памяти. Именно эту область контроллер начинает считывать сразу после подачи на него питания. Кро­ме собственно адресации ячеек, контроллер выполняет ряд других функций: функ­ции контроля bad-секторов, коррекции ошибок (ЕСС - error check and correct) и равномерности износа ячеек (wear leveling).

Технологической нормой при изготовлении микросхем памяти считается наличие в них в среднем до 2 % нерабочих ячеек. Со временем их количество может увели­чиваться, поэтому, как и в винчестерах, во flash-памяти предусмотрен резервный объем. Если появляется дефектный сектор, контроллер в процессе форматиро­вания или записи подменяет его адрес в таблице размещения файлов адресом сектора из резервной области. Коррекция осуществляется контроллером, но реа­лизуется на уровне файловой системы конкретного носителя.

Из-за ограниченного ресурса ячеек (порядка нескольких миллионов циклов чтения/ записи для каждой) в контроллер заложена функция учета равномерности износа. Чтобы запись информации осуществлялась равномерно, свободное пространство условно разбивается на участки, и для каждого из них учитывается количество операций записи. Статистика циклов заносится в скрытую служебную область памяти, и за этими сведениями контроллер периодически обращается к ней. На ад­ресацию это не влияет.

Конструкция flash-диска USB

Несмотря на разнообразие корпусов, все flash-диски USB устроены одинаково. Если половинки корпуса соединены защелками, они обычно легко разъединяются. Водонепроницаемые или ультрамодные корпусы приходится вскрывать разру­шающими методами, например разрезать.

На плате внутри flash-диска USB (рис. 4.2) обязательно присутствуют две микро­схемы: чип памяти и контроллер. На обеих нанесена заводская маркировка. Иногда плата несет два чипа flash-памяти, которые работают в паре. Обвязка микросхем состоит из нескольких резисторов и диодов, стабилизатора питания и кварцевого резонатора. В последнее время стабилизатор все чаще встраивается непосред­ственно в контроллер и количество навесных элементов сокращается до минимума. Кроме того, на плате могут находиться светодиодный индикатор и миниатюрный переключатель для защиты от записи.

Рис. 4.2. Устройство flash-диска

Разъем USB припаян непосредственно к плате. Места пайки контактов во многих моделях являются довольно уязвимыми, поскольку на них приходится механиче­ская нагрузка при подключении и отключении устройства.

Виды и конструкция карт памяти

Многие компании время от времени предлагали пользователям разные конструк­ции карт памяти. За редкими исключениями все они несовместимы между собой по количеству и расположению контактов и электрическим характеристикам, Flash-карты бывают двух типов: с параллельным (parallel) и последовательным (serial) интерфейсом.

В табл. 4.1 перечислены 12 основных типов карт памяти, которые встречаются в настоящее время. Внутри каждого типа существуют свои дополнительные раз­новидности, с учетом которых можно говорить о существовании почти 40 видов карт.

Таблица 4.1. Типы карт памяти

Тип карты памяти

Габаритные размеры (мм)

Максимальная

конструктивная

Интерфейс

CompactFlash (CF)

Параллельный 50 контактов

Последовательный 9 контактов

MultiMedia Card (ММС)

Последовательный 7 контактов

Последовательный 7 контактов

Highspeed ММС

Последовательный 13 контактов

Последовательный 10 контактов

Memory Stick PRO

Последовательный 10 контактов

Memory Stick Duo

Последовательный 10 контактов

SmartMedia (SSFDC)

Параллельный 22 контакта

Параллельный 22 контакта

Последовательный 8 контактов

Карты ММС могут работать в двух режимах: ММС (MultiMedia Card) и SPI (Serial Peripheral Interface). Режим SPI является частью протокола ММС и используется идя коммуникации с каналом SPI в микроконтроллерах компании Motorola и не­которых других производителей.

В слот для карты SD (Secure Digital) можно вставить карту ММС (MultiMedia Card), но не наоборот. В контроллер карты SD заложено аппаратное шифрование данных, а сама память снабжена специальной областью, в которой хранится ключ шифрования. Сделано это для того, чтобы препятствовать нелегальному копиро­ванию музыкальных записей, для хранения и продажи которых и задумывался такой носитель. На карте сделан переключатель защиты от записи (write protection switch).

Карты CompactFlash (CF) легко можно вставить в разъем PCMCIA Туре II. Несмотря на то что у PCMCIA 68 контактов, а у CF - только 50, конструкция карт CompactFlash обеспечивает полную совместимость и обладает всеми функциональ­ными возможностями формата PCMCIA-AT А.

Все карты памяти Memory Stick (стандарт корпорации Sony) относительно совмес­тимы между собой. Стандартом теоретически предусмотрен объем карты памяти до 2 Тбайт, хотя в реальности емкость достигает единиц гигабайт.

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

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

Устройства считывания

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

Кард-ридер - устройство, состоящее из одного или нескольких подобных контрол­леров, преобразователя питания и разъемов для разных карт памяти (рис. 4.3). Питание осуществляется от источника +5 В через кабель USB.

Рис. 4.3. Кард-ридер

Чаще всего встречаются «комбайны», рассчитанные на несколько типов карт: от 6 до 40. Слотов в кард-ридере гораздо меньше, так как каждое гнездо использу­ется для нескольких типов карт, близких по размерам и расположению контактов. По своим характеристикам разные модели практически равноценны, а различа­ются, главным образом, количеством поддерживаемых типов карт и конструк­цией.

Логическая организация

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

На жестких и гибких дисках величина блока составляет 512 байтов, не считая 59 служебных байтов, которые видны только контроллеру винчестера. Все файло­вые системы создавались именно с учетом этих значений. Проблема в том, что во flash-памяти величина блока стирания, за редким исключением, не совпадает с величиной стандартного дискового сектора в 512 байтов и обычно составляет 4,8 и даже 64 Кбайт. С другой стороны, для обеспечения совместимости блок чте­ния/записи должен совпадать с величиной дискового сектора.

Для этого блок стирания разбивается на несколько блоков чтения/записи с разме­ром 512 байтов. На практике блок чуть больше: кроме 512 байтов для данных, в нем еще есть «хвост» (Tail) длиной 16 байтов для служебной информации о самом блоке. Физически расположение и количество блоков чтения/записи ничем не ограничены. Единственное ограничение - блок чтения/записи не должен пересе­кать границу блока стирания, так как он не может принадлежать двум разным блокам стирания.

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

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

Для увеличения срока службы памяти используется технология управления изно­сом (wear-leveling control), которая продлевает жизненный цикл кристалла памя­ти за счет равномерного распределения циклов записи/стирания блоков памяти. Побочный эффект - выход из строя одного блока памяти - не сказывается на работе остальных блоков памяти того же кристалла. Неподвижные блоки принад­лежат файлам, которые долго или вообще никогда не изменялись и не перемеща­лись. Наличие неподвижных блоков данных приводит к тому, что оставшаяся часть ячеек подвергается усиленному износу и быстрее расходует свой ресурс. Микро­программа учитывает такие блоки и по мере необходимости перемещает их содер­жимое в другие ячейки.

Файловые системы flash-дисков и карт памяти, на первый взгляд, хорошо знакомы пользователям по жестким и гибким дискам. Это FAT16, реже FAT32: именно так предлагает отформатировать диск операционная система Windows. Стандартными средствами Windows ХР и Windows 7 диск можно отформатировать и в систему NTFS! Для этого нужно предварительно зайти в Диспетчер устройств и в окне свойств подключенного flash-диска на вкладке Политика выбрать значение Оптимизация для быстрого выполнения. Специальные программы от производителей, например HP USB Disk Storage Format Tool, позволяют форматировать flash-диски в NTFS и без таких усилий.

Однако внешнее сходство файловых систем твердотельных накопителей и обыч­ных винчестеров обманчиво. Файловая система flash-памяти (Flash File System, FFS) лишь эмулирует обычный дисковый накопитель и состоит из блоков управ­ления и блока инициализации. На самом деле об истинном расположении и адре­сации блоков памяти знает только контроллер flash-диска или карты памяти.

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

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

Рис. 4.4. Окно форматирования flash-диска в Windows Vista SPl

Нововведением является файловая система exFAT (Extended FAT - расширенная FAT). Поддержка этой специально разработанной для flash-дисков файловой системы впервые появилась в Windows Embedded СЕ 6.0. С exFAT работают Windows Vista Service Pack 1 и Windows 7 (рис. 4.4).

Назначение новой файловой системы - постепен­ная замена FAT и FAT32 на flash-накопителях. В ней заложены некоторые черты, которые ранее были присущи только файловой системе NTFS:

Преодолено ограничение в размере файла в 4 Гбайт: теоретически лимит составляет 2^ байтов (16 эксабайтов);

Улучшено распределение свободного места за счет введения битовой карты свободного мес­та, что уменьшает фрагментацию диска;

Снят лимит на количество файлов в одной директории;

Введена поддержка списка прав доступа.

Насколько скоро эта файловая система станет нормой для flash-накопителей, по­кажет время. Видимо, это произойдет не раньше, чем на операционную систему Windows 7 перейдет подавляющее большинство пользователей.

Принципиальная схема построения устройства осталась неизменной с 1995 года, когда флэшки впервые начали производиться в промышленных масштабах. Если не углубляться в детали, USB флэш-карта состоит из трех ключевых элементов: * разъем USB -- хорошо знакомый каждому разъем, представляющий собой интерфейс между флэшкой и компьютерной системой, будь то система персонального компьютера, мультимедийного центра или даже автомагнитолы; * контроллер памяти -- очень важный элемент цепи. Осуществляет связь памяти устройства с разъемом USB и руководит передачей данных в обе стороны; * микросхема памяти -- самая дорогая и важная часть USB флэш-карты. Определяет объем хранимой на карте информации, быстроту чтения/записи данных. Что может меняться в этой схеме? Принципиально ничего, но современная индустрия предоставляет несколько вариантов такой схемы; комбинация разъемов eSATA и USB, два разъема USB.

1 -- USB-разъём; 2 -- микроконтроллер; 3 -- контрольные точки; 4 -- микросхема флэш-памяти; 5 -- кварцевый резонатор; 6 -- светодиод; 7 -- переключатель «защита от записи»; 8 -- место для дополнительной микросхемы памяти.

Принцип действия

Флэш-память хранит информацию в массиве транзисторов с плавающим затвором, называемых ячейками (англ. cell). В традиционных устройствах с одноуровневыми ячейками (англ. single-level cell, SLC), каждая из них может хранить только один бит. Некоторые новые устройства с многоуровневыми ячейками (англ. multi-level cell, MLC; triple-level cell, TLC ) могут хранить больше одного бита, используя разный уровень электрического заряда на плавающем затворе транзистора.

Типы флeш памяти

NOR

В основе этого типа флэш-памяти лежит ИЛИ-НЕ элемент (англ. NOR), потому что в транзисторе с плавающим затвором низкое напряжение на затворе обозначает единицу.

Транзистор имеет два затвора: управляющий и плавающий. Последний полностью изолирован и способен удерживать электроны до 10 лет. В ячейке имеются также сток и исток. При программировании напряжением на управляющем затворе создаётся электрическое поле и возникает туннельный эффект. Часть электронов туннелирует сквозь слой изолятора и попадает на плавающий затвор. Заряд на плавающем затворе изменяет «ширину» канала сток-исток и его проводимость, что используется при чтении.

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

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

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

NAND

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

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