Микроэлектроника на основе NOR имеет большой размер ячеек, обеспечивает высокие скорости перезаписи и короткое время доступа. Каждая микросхема этого типа может хранить от 64 Кбит до 8 Мбит данных. Основная проблема состоит в том, что ее сложно наращивать для достижения более высокой емкости, так как нельзя уменьшить размеры каждого из транзисторов — виной тому сам способ организации матрицы ячеек: к каждой из них нужно подвести отдельный изолированный контактный электрод.
Микросхемы NAND (Not AND, отрицание «и») обладают более высокой надежностью и емкостью, малыми размерами блоков и ячеек. Полевые транзисторы подключаются к линиям бит последовательно, группами.
Если они включены (открыты), то соответствующие проводники заземляются; разность потенциалов между ними и линиями слов исчезает. Правда, поскольку падение напряжения происходит сразу на многих транзисторах, считывание информации затрудняется. Но вследствие того, что обращение происходит одновременно к целой группе ячеек, увеличивается скорость чтения.
Рис. 1.3. Стандартная форма флешек
На практике организация NAND-памяти подразумевает, что к ее ячейкам можно адресоваться лишь последовательно. Для компенсации временных задержек, вызванных «групповым» характером операции, используется внутренний кэш адекватной емкости. При записи в транзисторах архитектуры NAND используется туннельная инжекция электронов, а при стирании — их туннельное высвобождение. Это позволяет уменьшить энергопотребление. Емкость микросхем составляет от 500 Кбит до 8 Мбит.
В микросхемах флеш-памяти обоих типов логические элементы объединяются в блоки (по 128 Кбит в NOR и 8 Кбит в NAND). В NAND-чипах ячейки предварительно группируются в «страницы» размером по 256 или 512 байт. В каждой из них по 16 байт отводится под служебную область, где хранятся метаданные и коды коррекции ошибок.
В новой флеш-памяти NOR StrataFlash, разработанной Intel, используются многоуровневые ячейки (MLC, Multi-Level Cell), каждая из которых может хранить по 2 или 4 бит. Для этого заряд условно делится на несколько логически значимых уровней, каждому из которых соответствует определенная комбинация значений булевой логики («истина»/«ложь», т.е. 1/0). Теоретически можно прочитать и записать до 6–8 бит, но на практике при столь большом числе уровней возникают проблемы с паразитными шумами и утечкой заряда при длительном хранении.
Одновременно с Intel компания AMD, известная на заре своего развития именно как производитель флеш-памяти, разработала новую технологию MicroBit для реализации в чипах архитектуры NAND, благодаря которой емкость ячеек можно увеличить вдвое. Решение, по сути дела, простое: плавающий затвор ячейки (полевого транзистора), хранящей заряд, физически делится на два независимых друг от друга элемента конструкции. Таким образом, вместо одной ячейки хранения память имеет дело сразу с двумя.
Особенности использования флешек
По сравнению с обычным жестким диском флешки имеют несколько принципиальных отличий. Для начала стоит отметить, что запись на флешку возможна только на предварительно стертые (зачищенные) ячейки. В случае же с жестким диском вполне обычна перезапись данных, когда одни данные записываются поверх других. Думаю, ни для кого не секрет, что когда вы удаляете какой-либо файл, он по-прежнему остается на жестком диске, просто информация о нем стирается из таблицы файловой системы, и он становится как бы невидимым. Отсюда и существование так называемых программ-восстановителей удаленных файлов. Они просто возвращают запись в таблицу файловой системы.
Из-за необходимости предварительной зачистки (стирания) ячеек, для флешек существует некоторая путаница с порциями данных: битом, байтом, блоком чтения/записи и областью стирания. Байт — минимальная величина записанной информации; а блок — минимальное количество байт, которые можно прочесть из памяти за один цикл обращения. Область стирания есть совокупность ячеек, содержимое которых стирается за одну операцию. Минимальной же единицей хранения информации на жестком диске является сектор. Так вот, порции данных флешки (блоки, область стирания), как правило, не совпадают по размеру с сектором жесткого диска. Во избежание несовместимости операционная система реализует как бы виртуальные сектора для флешек, которые фактически формируются блоками чтения/записи, на которые в частности разбивается и область стирания.
Читать дальше