Устройства хранения данных на основе микросхем Flash-памяти в сравнении с устройствами на основе магнитных дисков имеют как достоинства (механическая устойчивость, отсутствие механического износа, меньший вес и габариты), так и свои специфические недостатки, ограничивающие область их применения. Обзор принципов функционирования Flash-памяти приведен, например, в статье Р. Ризванова. Остановимся только на некоторых моментах, связанных с физическими процессами в запоминающих ячейках при операциях записи и стирания, и напрямую влияющих на их надежность.
Для переноса заряда, являющегося собственно физическим «носителем информации» в Flash-накопителе, применяются два механизма: инжекция «горячих» электронов (hot-electron injection, HEI), и туннелирование Фаулера-Нордхейма (Fowler-Nordheim tunneling).
Инжекция «горячих» электронов — процесс переноса заряда через энергетический барьер, образованный тонким диэлектриком, за счет увеличения кинетической энергии электронов в канале между истоком и стоком ячейки.
При приложении положительного потенциала к стоку и управляющему затвору приводит к инверсии подзатворной области, образованию проводящего канала и появлению тока между истоком и стоком (рис. 1).
Рис. 1. |
Электроны в канале получают высокое дрейфовое ускорение, и при напряженности электрического поля выше ~100 kV/cm их кинетическая энергия не успевает рассеяться на атомах кристаллической решетки, что приводит к их «разогреву». В результате большее число электронов становится способным преодолеть потенциальный барьер диэлектрика (рис. 2), и, при наличии «инжектирующего» электрического поля (положительный потенциал приложен к управляющему затвору) — накапливаться на плавающем затворе ячейки.
Рис. 2. |
Такой механизм переноса заряда используется в большом количестве моделей микросхем Flash-памяти. В более поздних разработках в качестве механизма записи использован эффект туннелирования Фаулера-Норхейма, ранее применявшийся только для стирания запоминающих ячеек.
Туннелирование Фаулера-Нордхейма — переход электронов в плавающий затвор при смещении потенциального барьера электрическим полем. Поле возникает при приложении разницы потенциалов между управляющим затвором (-) и истоком (+) (рис.3). <
Рис. 3. |
В результате в области истока образуется «канал», по которому происходит стекание заряда с плавающего затвора за счет туннельного перехода через потенциальный барьер (рис. 4).
Рис. 4. |
Как видно из приведенных схем, токи заряда и разряда плавающего затвора ячейки сконцентрированы в локальной области изолирующего затвор диэлектрика. Зависимость плотности тока от напряженности поля показана на рис. 5.
Рис. 5. |
Экспоненциальная зависимость тока через диэлектрик при операциях программирования и стирания является причиной серьезных проблем при управлении этими процессами, так как очень небольшие вариации толщины диэлектрика в ячейках внутри запоминающей матрицы приводят к существенному разбросу величин токов программирования и стирания, а, значит, и времени программирования и стирания ячеек. Флуктуации же толщины диэлектрика внутри ячейки приводят к локальным неоднородностям напряженности поля, вызывающим появление «перегруженных» участков. Циклическая нагрузка на диэлектрик на таких участках вызывает ускорение процессов его деградации — нарушения структуры и изменения сопротивления.
Причиной деградации может быть как появление и рост дефектов кристаллической решетки диэлектрика (дислокаций и разрывов Si-O связей), так и диффузия ионов, ускоряющаяся при повышении температуры из-за локальных перегревов в областях повышенного тока. Эти процессы приводят к появлению «ловушек» для заряда в слое диэлектрика, и в результате появляется так называемый «ток утечки, вызванный перегрузкой», stress-induced leakage current (SILC), который вносит вклад как в надежность хранения информации ячейкой (время сохранения заряда на плавающем затворе), так и в скорость программирования и стирания.
Схематическая зависимость времени сохранения заряда от числа циклов записи-стирания ячеек матрицы показана на рис. 6, а порогового напряжения ячейки — на рис. 7.
Рис. 6. |
Рис. 7. |
Над изучением процессов деградации MOS структур работают специалисты многих исследовательских центров, и результаты этих исследований внедряются разработчиками новых структур Flash-памяти с целью постоянного улучшения надежности этого вида устройств. Основные пути снижения скорости деградации ячеек — улучшение качества материалов и повышение точности технологий, а также разработка новых конструкций ячеек и матриц, содержащих меньшее количество «тонких мест», присущих ранним разработкам. Тем не менее достичь идеального качества в массовом производстве на сегодняшний день не представляется возможным, а наличие стрессовых механизмов деградации туннельного диэлектрика, помимо обычных тепловых (диффузии и миграции примесей), снижает надежность устройств Flash-памяти по сравнению с другими микроэлектронными структурами с высокой степенью интеграции. Поэтому для получения накопителей, пригодных для реальной работы, применяются технологии не только физического уровня, но и программные алгоритмы, призванные обеспечить приемлемую надежность хранения данных.
Как и в технологии накопителей на магнитных дисках, во Flash-накопителях применяется алгоритм трансляции реальных «физических» адресов в доступные через стандартизованный интерфейс «логические» адреса. С одной стороны, такое преобразование позволяет работать с накопителем в рамках распространенных стандартов без применения специализированного ПО, а с другой, призвано обеспечить прозрачный для пользователя дефект-менеджмент и выравнивание «износа» ячеек памяти, обладающих ограниченным ресурсом.
В распространенных накопителях (USB Flash drives, картах памяти стандартов CF, SD и др.) данная функция выполняется встроенным программным обеспечением (firmware) контроллера накопителя, в картах памяти стандартов SmartMedia, xD — возлагается на ПО устройства, в котором эта карта применяется. В общем случае трансляция производится путем выборки адресов физических блоков по хранимым на той же микросхеме таблицам соответствия (рис. 8).
Рис. 8. |
В отличии от HDD микросхема памяти — устройство не механическое, скорость передачи блоков данных не зависит от их расположения, и выборка блоков может быть действительно произвольной. Конкретная реализация алгоритма трансляции определяется только фантазией авторов firmware контроллера, и на практике встречаются самые разнообразные варианты, от простых до довольно сложных.
Однако все алгоритмы объединяет один общий недостаток: призванные обеспечить равномерную загрузку всех исправных ячеек памяти, они порождают новое «узкое место» — сами таблицы трансляции. Так как для выравнивания нагрузки необходимо изменять порядок следования блоков (например, на место постоянно используемых под FAT начальных логических блоков подставлять разные физические), таблицы транслятора должны постоянно обновляться. В то же время они должны оставаться доступными контроллеру, то есть находиться на раз и навсегда определенном месте.
Таким образом, блоки, содержащие таблицы трансляции, подвергаются более интенсивному износу, чем блоки, содержащие пользовательскую информацию. Для уменьшения такого износа также используются специальные алгоритмы, но тут уже нет такой свободы действий, как с произвольно доступными блоками из пользовательской области. Результатом же ошибки в служебном блоке может стать, в зависимости от реализации ПО контроллера, как искажение пользовательской информации, так и полная недоступность адресного пространства накопителя через стандартный интерфейс. Часто такая неисправность может быть устранена форматированием накопителя с помощью специализированных утилит, распространяемых изготовителем, но находившаяся на нем информация при этом будет безвозвратно потеряна.
При необходимости восстановления информации с накопителя в случае появления дефектов в пользовательской области, а также при нарушениях структур файловой системы применимы те же технологии, которые используются при восстановлении информации с HDD. В случае же нарушений в служебной области микросхемы ситуация выглядит примерно так же, как и при неисправности контроллера — адресное пространство накопителя становится полностью недоступным, и общедоступные методы неприменимы.
Подробнее о методиках восстановления информации с Flash-накопителей можно узнать в разделе «Восстановление информации с Flash-накопителей» нашего сайта.