Что такое 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.
Количество полезной информации, которую мы можем хранить в электронном виде, определяется емкостью конкретного устройства. Очень полезной с этой точки зрения является флеш-память. Особенностью устройств, что её используют, обычно называют значительный объем и малый физический размер носителя.
Что такое флеш-память?
Так называют разновидность полупроводниковой технологии создания электрически перепрограммируемой памяти. В схемотехнике так называют законченное с технологической точки зрения решение построения постоянных запоминающих устройств.
В быту словосочетание "флеш-память" используется для обозначения широкого класса твердотельных приборов выполненных с применением этой же технологии. Важными преимуществами, что обусловили их широкое распространение, являются:
- Компактность.
- Дешевизна.
- Механическая прочность.
- Большой объем.
- Скорость работы.
- Низкое энергопотребление.
Благодаря этому всему флеш-память можно найти во многих цифровых портативных устройствах, а также в ряде Увы, есть и недостатки, такие как ограниченный срок технической эксплуатации носителя и чувствительность к электростатическим разрядам. А вот какая емкость у флеш-памяти? Вряд ли сможете угадать, но попробуйте. может достигать огромных размеров: так, несмотря на малые размеры, носители данных на 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-архитектуры сейчас существуют параллельно и не конкурируют друг с другом, поскольку находят применение в разных областях хранения данных.