Рецепт долголетия флешки

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

Флэш память была изобретена в 1984 г. доктором Фуджио Масуока, работавшим на гиганта японской электронной индустрии — компанию Toshiba. Она получила свое название по инициативе одного из коллег ученого, которому быстрый процесс стирания ячеек напомнил работу вспышки фото аппарата. Американская компания Intel не
медленно начала разработку микросхем
флэш памяти, так как увидела в ней огромный потенциал. Уже в 1988 г. первые чипы
памяти типа NOR от этого производителяпоявились на рынке. Эволюционно флэш-память представляет собой разновидность EEPROM (Electrically Erasable Read Only Memory), то есть энергонезависимого ПЗУ с электронным стиранием. EEPROM функционирует на основе
логики, построенной на КМОП элементах комплементарных структурах «металл-ок
сид-полупроводник», или Complementary Metal Oxyde Semiconductor, CMOS). К сожалению, при стирании содержимого КМОП памяти нужно подводить к ее электронным ячейкам достаточно высокое напряжение, поэтому этот процесс занимаетдостаточно много времени. В отличие от «прародительницы», во флэш-микросхемах информация удаляется иначе — целыми блоками — и это происходит намного быстрее. Первичными ячейками таких чипов являются полевые транзисторы с двумя изолированными затворами: управляющим и плавающим. Под воздействием управляющего создается канал длядвижения заряженных частиц от истока к стоку, причемнекоторые электроны, обладающиебольшой энергией,преодолевают сопротивление изолятора и попадают наплавающий затвор. Этот процесс называется инжекцией.

В отличие от жесткого диска флэш-память выдерживает ограниченное количество циклов стирания и записи. С течением времени некоторые блоки перестают под даваться очистке и записывать данные. При приближении к границе допустимого количества циклов ячейки демонстрируют нарастающее количество отказов (либо запись происходит с ошибкой, либо блок не поддается стиранию с первой попытки). Для механизма управления пространствомпамяти это означает появление дефектных блоков, которые необходимо вывести из «открытого доступа» либо маркировать, как недействительные и подлежащие по вторной очистке. Для продления жизни флэш-памяти используется технология управления ее износом (Wear Levelling Control). Она равномерно распределяет
циклы записи/стирания по разным блокам. Кстати выход из строя одного блока не сказывается на работе остальных. На механизм, «продлевающий жизнь» флэш-памяти, возлагается задача определения положения записываемого блока. Таким образом, он выполняет часть функций по управлению распределением пространства.
С другой стороны, этот механизм должен обеспечить равномерное распределение
циклов стирания во всем флэш накопителе.
На нем же лежит ответственность за выбор области для последующей очистки.
Но управление износом напрямую влияет на производительность: чем активнее работает этот механизм, тем сильнее затяги ваются запись и стирание. К тому же нарастающее количество отказов вызывает учащение попыток аварийно завершить эти операции со стороны ОС. Дополнительно ситуацию усугубляет запуск «сборки мусора». Кстати, в процессе этой сборки можетвозникнуть неприятность, связанная с неперемещаемыми блоками данных. Они хранятфрагменты файлов, которые долго (или никогда) не изменяются. Наличие таких областей приводит к тому, что оставшаяся часть памяти подвергается усиленному износу.
Во флэшнакопителях надежность хранения данных контролируется непосредственно во время записи: встроенный механизм соотносит сохраненную информацию
с исходной с помощью компаратора.  Впоследствии может выполняться дополнитель
ная проверка путем сравнения битов данных с исходными, хранящимися в буфере
ОС.  Эти операции напоминают команду VERIFY для жесткого диска, но не требуют
запуска отдельного процесса и дают определенный выигрыш во времени. Многие виды
флэш-накопителей для исправления ошибок используют корректирующие коды. Наконец, используется резервирование данных: создаются несколько копий таблиц,
хранящих информацию о физическом расположении действительных, недействитель
ных и дефектных блоков и т. д. Они позволяют восстановить данные при их утрате в одной из таблиц.





Комментариев нет:

Отправить комментарий