Flash память энергозависимая или нет

Обновлено: 07.07.2024

Современному человеку нравится быть мобильным и иметь при себе различные высокотехнологичные гаджеты (англ. gadget — устройство), облегчающие жизнь, да что там скрывать, делающие ее более насыщенной и интересной. И появились-то они всего за 10-15 лет! Миниатюрные, легкие, удобные, цифровые… Всего этого гаджеты достигли благодаря новым микропроцессорным технологиям, но все же больший вклад был сделан одной замечательной технологией хранения данных, о которой сегодня мы и будем говорить. Итак, флэш-память.

Бытует мнение, что название FLASH применительно к типу памяти переводится как «вспышка». На самом деле это не совсем так. Одна из версий его появления говорит о том, что впервые в 1989-90 году компания Toshiba употребила слово Flash в контексте «быстрый, мгновенный» при описании своих новых микросхем. Вообще, изобретателем считается Intel, представившая в 1988 году флэш-память с архитектурой NOR. Годом позже Toshiba разработала архитектуру NAND, которая и сегодня используется наряду с той же NOR в микросхемах флэш. Собственно, сейчас можно сказать, что это два различных вида памяти, имеющие в чем-то схожую технологию производства. В этой статье мы попытаемся понять их устройство, принцип работы, а также рассмотрим различные варианты практического использования.

С помощью нее осуществляется преобразование входных напряжений в выходные, соответствующие «0» и «1». Они необходимы, потому что для чтения/записи данных в ячейке памяти используются различные напряжения. Схема ячейки приведена на рисунке ниже.



Она характерна для большинства флэш-чипов и представляет из себя транзистор с двумя изолированными затворами: управляющим (control) и плавающим (floating). Важной особенностью последнего является способность удерживать электроны, то есть заряд. Также в ячейке имеются так называемые «сток» и «исток». При программировании между ними, вследствие воздействия положительного поля на управляющем затворе, создается канал — поток электронов. Некоторые из электронов, благодаря наличию большей энергии, преодолевают слой изолятора и попадают на плавающий затвор. На нем они могут храниться в течение нескольких лет. Определенный диапазон количества электронов (заряда) на плавающем затворе соответствует логической единице, а все, что больше его, — нулю. При чтении эти состояния распознаются путем измерения порогового напряжения транзистора. Для стирания информации на управляющий затвор подается высокое отрицательное напряжение, и электроны с плавающего затвора переходят (туннелируют) на исток. В технологиях различных производителей этот принцип работы может отличаться по способу подачи тока и чтению данных из ячейки. Хочу также обратить ваше внимание на то, что в структуре флэш-памяти для хранения 1 бита информации задействуется только один элемент (транзистор), в то время как в энергозависимых типах памяти для этого требуется несколько транзисторов и конденсатор. Это позволяет существенно уменьшить размеры выпускаемых микросхем, упростить технологический процесс, а, следовательно, и снизить себестоимость. Но и один бит далеко не предел: Intel уже выпускает память StrataFlash, каждая ячейка которой может хранить по 2 бита информации. Кроме того, существуют пробные образцы, с 4-х и даже 9-битными ячейками! В такой памяти используются технология многоуровневых ячеек. Они имеют обычную структуру, а отличие заключается в том, что заряд их делится на несколько уровней, каждому из которых в соответствие ставится определенная комбинация бит. Теоретически прочитать/записать можно и более 4-х бит, однако, на практике возникают проблемы с устранением шумов и с постепенной утечкой электронов при продолжительном хранении. Вообще, у существующих сегодня микросхем памяти для ячеек характерно время хранения информации, измеряемое годами и число циклов чтения/записи — от 100 тысяч до нескольких миллионов. Из недостатков, в частности, у флэш-памяти с архитектурой NOR стоит отметить плохую масштабируемость: нельзя уменьшать площадь чипов путем уменьшения размеров транзисторов. Эта ситуация связана со способом организации матрицы ячеек: в NOR архитектуре к каждому транзистору надо подвести индивидуальный контакт. Гораздо лучше в этом плане обстоят дела у флэш-памяти с архитектурой NAND.

Устройство и принцип работы ячеек у нее такой же, как и у NOR. Хотя, кроме логики, все-таки есть еще одно важное отличие — архитектура размещения ячеек и их контактов. В отличие от вышеописанного случая, здесь имеется контактная матрица, в пересечениях строк и столбцов которой располагаются транзисторы. Это сравнимо с пассивной матрицей в дисплеях :) (а NOR — с активной TFT). В случае с памятью такая организация несколько лучше — площадь микросхемы можно значительно уменьшить за счет размеров ячеек. Недостатки (куда уж без них) заключаются в более низкой по сравнению с NOR скорости работы в операциях побайтового произвольного доступа.

Существуют еще и такие архитектуры как: DiNOR (Mitsubishi), superAND (Hitachi) и пр. Принципиально нового ничего они не представляют, а лишь комбинируют лучшие свойства NAND и NOR.

И все же, как бы там ни было, NOR и NAND на сегодняшний день выпускаются на равных и практически не конкурируют между собой, потому как в силу своих качеств находят применение в разных областях хранения данных. Об этом и пойдет далее речь…

Где нужна память…

  1. считать в буфер блок информации, в котором он находится
  2. в буфере изменить нужный байт
  3. записать блок с измененным байтом обратно

И будет флэш…

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

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


Собственно, выявлением бэдов занимается алгоритм ECC — он сравнивает записываемую информацию с реально записанной. Также в связи с ограниченным ресурсом ячеек (порядка нескольких миллионов циклов чтения/записи для каждой) важно наличие функции учета равномерности износа. Приведу такой редкий, но встречающийся случай: брелок с 32 Мбайт, из которых 30 Мбайт заняты, а на свободное место постоянно что-то записывается и удаляется. Получается, что одни ячейки простаивают, а другие интенсивно исчерпывают свой ресурс. Чтобы такого не было, в фирменных устройствах свободное пространство условно разбивается на участки, для каждого из которых осуществляется контроль и учет количества операций записи.

Еще более сложные конфигурации класса «все-в-одном» сейчас широко представлены такими компаниями как, например, Intel, Samsung, Hitachi и др. Их изделия представляют собой многофункциональные устройства, реализованные в одной лишь микросхеме (стандартно в ней имеется процессор, флэш-память и SDRAM). Ориентированы они на применение в мобильных устройствах, где важна высокая производительность при минимальных размерах и низком энергопотреблении. К таким относятся: PDA, смартфоны, телефоны для сетей 3G. Приведу пример подобных разработок — чип от Samsung, объединяющий в себе ARM-процессор (203 МГц), 256 Мбайт NAND памяти и 256 SDRAM. Он совместим с распространенными ОС: Windows CE, Palm OS, Symbian, Linux и имеет поддержку USB. Таким образом на его основе возможно создание многофункциональных мобильных устройств с низким энергопотреблением, способных работать с видео, звуком, голосом и прочими ресурсоемкими приложениями.

Другим направлением совершенствования флэш является уменьшение энергопотребления и размеров с одновременным увеличением объема и быстродействия памяти. В большей степени это касается микросхем с NOR архитектурой, поскольку с развитием мобильных компьютеров, поддерживающих работу в беспроводных сетях, именно NOR-флэш, благодаря небольшим размерам и малому энергопотреблению, станет универсальным решением для хранения и выполнения программного кода. В скором времени в серийное производство будут запущены 512 Мбит чипы NOR той же Renesas. Напряжение питания их составит 3,3 В (напомню, хранить информацию они могут и без подачи тока), а скорость в операциях записи — 4 Мбайт/сек. В то же время Intel уже представляет свою разработку StrataFlash Wireless Memory System (LV18/LV30) — универсальную систему флэш-памяти для беспроводных технологий. Объем ее памяти может достигать 1 Гбит, а рабочее напряжение равно 1.8 В. Технология изготовления чипов — 0,13 нм, в планах переход на 0,09 нм техпроцесс. Среди инноваций данной компании также стоит отметить организацию пакетного режима работы с NOR-памятью. Он позволяет считывать информацию не по одному байту, а блоками — по 16 байт: с использованием 66 МГц шины данных скорость обмена информацией с процессором достигает 92 Мбит/с!

Что ж, как видите, технология развивается стремительно. Вполне возможно, что к моменту выхода статьи появится еще что-нибудь новенькое. Так что, если что — не взыщите :) Надеюсь, материал был вам интересен.



Новый Год – приятный, светлый праздник, в который мы все подводим итоги год ушедшего, смотрим с надеждой в будущее и дарим подарки. В этой связи мне хотелось бы поблагодарить всех хабра-жителей за поддержку, помощь и интерес, проявленный к моим статьям (1, 2, 3, 4). Если бы Вы когда-то не поддержали первую, не было и последующих (уже 5 статей)! Спасибо! И, конечно же, я хочу сделать подарок в виде научно-популярно-познавательной статьи о том, как можно весело, интересно и с пользой (как личной, так и общественной) применять довольно суровое на первый взгляд аналитическое оборудование. Сегодня под Новый Год на праздничном операционном столе лежат: USB-Flash накопитель от A-Data и модуль SO-DIMM SDRAM от Samsung.

Теоретическая часть

Постараюсь быть предельно краток, чтобы все мы успели приготовить салат оливье с запасом к праздничному столу, поэтому часть материала будет в виде ссылок: захотите – почитаете на досуге…

Какая память бывает?

На настоящий момент есть множество вариантов хранения информации, какие-то из них требуют постоянной подпитки электричеством (RAM), какие-то навсегда «вшиты» в управляющие микросхемы окружающей нас техники (ROM), а какие-то сочетают в себе качества и тех, и других (Hybrid). К последним, в частности, и принадлежит flash. Вроде бы и энергонезависимая память, но законы физики отменить сложно, и периодически на флешках перезаписывать информацию всё-таки приходится.

Тут можно подробнее ознакомиться с ниже приведённой схемой и сравнением характеристик различных типов «твердотельной памяти». Или тут – жаль, что я был ещё ребёнком в 2003 году, в таком проекте не дали поучаствовать…



Современные типы «твердотельной памяти». Источник

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

Что такое flash-память и какой она бывает (NOR и NAND)?

Начнём с flash-памяти. Когда-то давно на небезызвестном ixbt была опубликована довольно подробная статья о том, что представляет собой Flash, и какие 2 основных сорта данного вида памяти бывают. В частности, есть NOR (логическое не-или) и NAND (логическое не-и) Flash-память (тут тоже всё очень подробно описано), которые несколько отличаются по своей организации (например, NOR – двумерная, NAND может быть и трехмерной), но имеют один общий элемент – транзистор с плавающим затвором.



Схематическое представление транзистора с плавающим затвором. Источник

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

NB: «практически» — ключевое слово, ведь без перезаписи, без обновления ячеек хотя бы раз в несколько лет Flash «обнуляется» так же, как оперативная память, после выключения компьютера.

Там же, на ixbt, есть ещё одна статья, которая посвящена возможности записи на один транзистор с плавающим затвором нескольких бит информации, что существенно увеличивает плотность записи.

В случае рассматриваемой нами флешки память будет, естественно, NAND и, скорее всего, multi-level cell (MLC).

Если интересно продолжить знакомиться с технологиями Flash-памяти, то тут представлен взгляд из 2004 года на данную проблематику. А здесь (1, 2, 3) некоторые лабораторные решения для памяти нового поколения. Не думаю, что эти идеи и технологии удалось реализовать на практике, но, может быть, кто-то знает лучше меня?!

Что такое DRAM?

Если кто-то забыл, что такое DRAM, то милости просим сюда.

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


Устройство ячейки RAM. Источник

Опять-таки на ixbt есть неплохая статья, посвящённая DRAM и SDRAM памяти. Она, конечно, не так свежа, но принципиальные моменты описаны очень хорошо.

Единственный вопрос, который меня мучает: а может ли DRAM иметь, как flash, multi-level cell? Вроде да, но всё-таки…

Часть практическая

Flash

Те, кто пользуется флешками довольно давно, наверное, уже видели «голый» накопитель, без корпуса. Но я всё-таки кратко упомяну основные части USB-Flash-накопителя:



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

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



Корпус кварцевого генератора

Случайно, между делом, нашёл-таки, как выглядит армирующее волокно внутри текстолита и шарики, из которых в массе своей и состоит текстолит. Кстати, а волокна всё-таки уложены со скруткой, это хорошо видно на верхнем изображении:



Армирующее волокно внутри текстолита (красными стрелками указаны волокна, перпендикулярные срезу), из которого и состоит основная масса текстолита

А вот и первая важная деталь флешки – контроллер:



Контроллер. Верхнее изображение получено объединением нескольких СЭМ-микрофотографий

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

После обработки этой картинки я кричал: «Яяяяязь!» и бегал по комнате. Итак, Вашему вниманию представляет техпроцесс 500 нм во всей свой красе с отлично прорисованными границами стока, истока, управляющего затвора и даже контакты сохранились в относительной целостности:



«Язь!» микроэлектроники – техпроцесс 500 нм контроллера с прекрасно прорисованными отдельными стоками (Drain), истоками (Source) и управляющими затворами (Gate)

Теперь приступим к десерту – чипам памяти. Начнём с контактов, которые эту память в прямом смысле этого слова питают. Помимо основного (на рисунке самого «толстого» контакта) есть ещё и множество мелких. Кстати, «толстый» < 2 диаметров человеческого волоса, так что всё в мире относительно:



СЭМ-изображения контактов, питающих чип памяти

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



Ячейки памяти 1. Границы блоков выделены стрелочками. Линиями обозначены отдельные ячейки

Мне самому сначала это показалось как артефакт изображения, но обработав все фото дома, я понял, что это либо вытянутые по вертикальной оси управляющие затворы при SLC-ячейке, либо это несколько ячеек, собранных в MLC. Хоть я и упомянул MLC выше, но всё-таки это вопрос. Для справки, «толщина» ячейки (т.е. расстояние между двумя светлыми точками на нижнем изображении) около 60 нм.

Чтобы не лукавить – вот аналогичные фото с другой половинки флешки. Полностью аналогичная картина:



Ячейки памяти 2. Границы блоков выделены стрелочками. Линиями обозначены отдельные ячейки

Конечно, сам чип – это не просто набор таких ячеек памяти, внутри него есть ещё какие-то структуры, принадлежность которых мне определить не удалось:



Другие структуры внутри чипов NAND памяти

Всю плату SO-DIMM от Samsung я, конечно же, не стал распиливать, лишь с помощью строительного фена «отсоединил» один из модулей памяти. Стоит отметить, что тут пригодился один из советов, предложенных ещё после первой публикации – распилить под углом. Поэтому, для детального погружения в увиденное необходимо учитывать этот факт, тем более что распил под 45 градусов позволил ещё получить как бы «томографические» срезы конденсатора.

Однако по традиции начнём с контактов. Приятно было увидеть, как выглядит «скол» BGA и что собой представляет сама пайка:



«Скол» BGA-пайки

А вот и второй раз пора кричать: «Язь!», так как удалось увидеть отдельные твердотельные конденсаторы – концентрические круги на изображении, отмеченные стрелочками. Именно они хранят наши данные во время работы компьютера в виде заряда на своих обкладках. Судя по фотографиям размеры такого конденсатора составляют около 300 нм в ширину и около 100 нм в толщину.

Из-за того, что чип разрезан под углом, одни конденсаторы рассечены аккуратно по середине, у других же срезаны только «бока»:



DRAM память во всей красе

Если кто-то сомневается в том, что эти структуры и есть конденсаторы, то тут можно посмотреть более «профессиональное» фото (правда без масштабной метки).

Единственный момент, который меня смутил, что конденсаторы расположены в 2 ряда (левое нижнее фото), т.е. получается, что на 1 ячейку приходится 2 бита информации. Как уже было сказано выше, информация по мультибитовой записи имеется, но насколько эта технология применима и используется в современной промышленности – остаётся для меня под вопросом.

Конечно, кроме самих ячеек памяти внутри модуля есть ещё и какие-то вспомогательные структуры, о предназначении которых я могу только догадываться:



Другие структуры внутри чипа DRAM-памяти

Послесловие

Помимо тех ссылок, что раскиданы по тексту, на мой взгляд, довольно интересен данный обзор (пусть и от 1997 года), сам сайт (и фотогалерея, и chip-art, и патенты, и много-много всего) и данная контора, которая фактически занимается реверс-инжинирингом.

К сожалению, большого количества видео на тему производства Flash и RAM найти не удалось, поэтому довольствоваться придётся лишь сборкой USB-Flash-накопителей:

P.S.: Ещё раз всех с наступающим Новым Годом чёрного водяного дракона.
Странно получается: статью про Flash хотел написать одной из первых, но судьба распорядилась иначе. Скрестив пальцы, будем надеяться, что последующие, как минимум 2, статьи (про биообъекты и дисплеи) увидят свет в начале 2012 года. А пока затравка — углеродный скотч:



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


Во-первых, полный список опубликованных статей на Хабре:

В-третьих, если тебе, дорогой читатель, понравилась статья или ты хочешь простимулировать написание новых, то действуй согласно следующей максиме: «pay what you want»

Favorite

В закладки

Оказывается, флешки нужно заряжать. Это не шутка

Вы заряжаете свои флешки? Конечно нет, что за глупость. Это же шутка для далёких от электроники людей.

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

Смешно. Но совсем не долго: теория подсказывает, что без подзарядки данные на флеш-накопителях должны портиться. А практика это подтверждает.

Как же так? Что делать? Заряжать флешки – вопреки удивлению гуманитариев.

Вспоминаем: как хранится информация и типы накопителей


Как известно, хранение данных может производиться на 2 типах запоминающих устройств:

  • требующих постоянного питания — энергозависимых (оперативная память, кэш процессоров)
  • не требующих постоянного питания — энергонезависимых (магнитные и оптические накопители, флеш-память)

С первыми более-менее понятно даже начинающим гикам: принципы их работы отлично изложены в энциклопедиях.

Если совсем кратко: есть питание — данные на месте; нет питания — данные утеряны, поскольку все ячейки памяти, работающие по принципу транзистора, обнулены.

Энергонезависимые носители предполагают длительное хранение данных, основанное на самых разнообразных способах.


До недавнего времени наиболее надёжными считалась модульная память в виде разнообразных флешек, SSD-накопителей.

Считается, что ячейки такой памяти не подвержены старению, а единократно записанная на них информация не повреждена. Увы, это не так.

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

А если записать на флешку данные и положить в шкаф, все будет в порядке.

Длительно хранящиеся без питания твердотельные накопители способны не только терять данные, но и портиться целиком. Причем, чем теплее, тем быстрее идёт процесс. И вот почему.

SSD-диски и флеш-накопители не так просты, как кажется


Обычная USB-флешка, вне зависимости от формата и разъемов, которыми она оборудована, имеет определенную структуру.

Будь то microSD для фотоаппарата, крошечный Lightning-накопитель или современный стик с USB 3.0, внутри находится контроллер и NAND-flash память в виде отдельных микросхем.

1. Память этого типа разделена на блоки по несколько мегабайт.

2. Блок, в свою очередь, состоит из страниц в десятки килобайт каждый.

3. Перед каждой записью данных блок постранично стирается (перезаписывается определенным значением).

4. Внутри блока каждая страница должна записываться строго в порядке возрастания номера.

5. Каждая страница может быть записана целиком, но только единожды до следующего стирания.

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



Принципиальная схема работы памяти на всех уровнях. Контроллер реализует тот самый FTL

Чтобы записывать данные быстро и без проблем для пользователя, контроллер USB-флешки превратился в полноценный процессор, который

1) строит таблицу адресов (аналогичную используемой в жестких дисках),

2) собирает мусор, размечая его для последующего стирания,

3) оптимизирует износ памяти, записывая данные максимально равномерно по всем блокам,

4) отслеживает «битые» блоки, «забывая» их номера в таблице адресов или подменяя их более «живыми».


Чтобы он выполнил эту рутинную работу, нужно питание. Но это — далеко не самая главная проблема и не отвечает на вопрос, почему флешки нужно заряжать.

Для того, чтобы разобраться, придётся копать ещё глубже.

Как устроена твердотельная флеш-память?


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

Принцип хранения информации флеш-памяти использует стандартную схему хранения заряда в конденсаторе.



Смеха работы ячейки памяти

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

Фактически, он является одной из обкладок конденсатора.

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



Чуть более подробное описание работы ячейки

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

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

Ячейки при потере информации могут использоваться повторно, если записать на неё данные вновь. Однако только до истечения собственного ресурса и полной утери свободного заряда.

При этом серьезно теряется ресурс: процесс чем-то похож на полностью разряженный аккумулятор, который нужно перед использованием «толкнуть», зарядив повышенным током.

Контроллер спасает данные от потери. Но не всегда



Схема работы с ячейками с точки зрения контроллера

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

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



Схема работы диска с точки зрения данных

Время операции и ожидания зависит от конкретного контроллера и от конкретной микросхем флэша — на усмотрение производителя.

Именно так выравнивается износ и предотвращается потеря пользовательских данных из-за утечки зарядов в ячейках.

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

Но только в то время, когда диск в работе или хотя бы подключен к питанию.

Так куда пропадают данные?


Как только SSD-диск или флешка остаются на длительное время без питания, вероятность отказа начинает расти.

Дело в том, что переразметка и перезапись производится только во время простоя.

Больше того: чем старше и сильнее изношен диск, чем больше он прошел циклов записи, тем отказов больше.

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

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

Скажете, статья старая? Вот только с тех пор модули памяти стали дешевле, проще, а плотность их ячеек — выше (можно почитать здесь). Поэтому процесс идёт ещё быстрее.

SSD-диски поддерживают команду TRIM, которая улучшает сохранность данных. Аналог есть у SD и microSD-карт памяти, в промышленных USB-накопителях.

Дешёвые флешки и устаревшие форматы карт памяти (например, CF) фишку не поддерживают, поэтому данные они стирают только при обращении к ячейке.

И часть блоков никогда не перезаписывается, «протухая».



Здесь показано схематичное уплотнение памяти. Сами понимаете, стенки толще не становятся

Известно, что SLC-память хранит данные несколько десятков лет, MLC — несколько лет без питания, TLC и вовсе около полугода, а многострадальные QLC может потерять все за пару недель.

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

Поэтому ресурс может быть на порядок ниже предполагаемого.

Что нужно делать, чтобы флешки не теряли данные


Итак, что же нужно, чтобы данные с накопителей не пропадали? Ничего сложного: нужно оставлять их в USB без нагрузки.

Скопировали данные, поработали с флешки — оставьте её подключенной к включенному компьютеру хотя бы на полчаса.

Через некоторое время можно будет обратить внимание, что диск нагреется, а лампочки при наличии — загорятся, как во время работы.

Это и будет говорить о работе контроллера по переразметке данных. Хотя флагманские серии твердотельных дисков никак не выдают эти процессы.

Стоит учитывать, что работа проходит достаточно долго — ориентировочно, как при дефрагментации жестких дисков.

Поэтому короткие периоды подключения в простоя необходимо дополнять, оставляя диск подключенным на ночь, например.

Не забывайте заряжать свои флешки!

(282 голосов, общий рейтинг: 4.68 из 5)

Favorite

В закладки

Любая микропроцессорная система, вне зависимости от типа используемого микроконтроллера или процессора, в обязательном порядке требует памяти (рис. 1). В памяти хранится исполняемая процессором программа. Там же помещаются данные, используемые при вычислениях. Данные могут поступать от датчиков или появляться в результате расчетов, они также могут изначально размещаться в памяти при программировании.

Процессор использует память для хранения программ и данных

Рис. 1. Процессор использует память для хранения программ и данных

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

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

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

Память можно разделить на две основные категории: энергозависимую (volatile) и энергонезависимую (non-volatile). Энергозависимая память теряет свое содержимое при отключении питания. Энергонезависимая память сохраняет данные даже при отключении питания.

В общем случае энергонезависимая память работает медленнее, но стоит дешевле, чем энергозависимая память. Чаще всего энергонезависимая память используется для хранения программ и пользовательских данных. Энергозависимая память в основном необходима для хранения часто используемых данных. Кроме того, в высокопроизводительных устройствах после запуска процессора программа копируется из энергонезависимой памяти в ОЗУ и далее выполняется оттуда.

Энергонезависимая память

Почти вся энергонезависимая память использует одну и ту же базовую технологию для хранения битов данных. Значение каждого бита по существу определяется наличием или отсутствием заряда, хранимого на плавающем затворе МОП-транзистора. От заряда на этом плавающем затворе зависит, находится ли канал МОП-транзистора в проводящем состоянии или нет, тем самым, кодируется логический уровень элементарной ячейки памяти.

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

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

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

Flash

Flash чаще всего используется для хранения программ и констант в микроконтроллерах, а также для хранения загрузчика в ПК.

Существует два основных типа Flash: NAND и NOR. Оба типа Flash имеют свои достоинства и недостатки и применяются в различных приложениях.

NOR Flash, как правило, выступает в роли XIP-памяти (Execute In Place), то есть может использоваться как для хранения, так и для выполнения программ. В большинстве случаев, NOR Flash оказывается дороже и быстрее, чем NAND Flash.

NAND Flash обычно используется в SSD-дисках, USB-накопителях, а также является основным типом памяти для SD-карт.

EEPROM

EEPROM (Electrically Erasable Programmable Read Only Memory) – достаточно медленный и относительно дорогой тип памяти. Вместе с тем EEPROM обеспечивает простоту доступа к данным. Если во Flash организован постраничный доступ к памяти, то EEPROM позволяет записывать и стирать отдельные байты. Таким образом, EEPROM является оптимальным вариантом для хранения данных конфигурации и пользовательской информации во встраиваемых системах.

SSD и SD

В SSD-накопителях (Solid State Drives) и SD-картах (Secure Digital) используется NAND Flash (рис. 2). В таких накопителях работа ведется с большими блоками данных. SSD-накопители и SD-карты обеспечивают более высокую надежность, по сравнению традиционными жесткими дисками (HDD).

Карта памяти SD (32 ГБ)

Рис. 2. Карта памяти SD (32 ГБ)

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

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

Дискретные микросхемы Flash-памяти большого объема (более нескольких Мбайт) оказываются весьма дорогими, если речь идет о мелком и среднесерийном производстве.

Таким образом, если вашему устройству требуется большой объем Flash (сотни Мбайт - Гбайты), то в большинстве случаев более экономичным решением станет использование SD-карты, по крайней мере, до тех пор, пока вы не достигнете крупносерийного производства, при котором стоимость дискретных микросхем Flash не опуститься до разумного значения.

Другие типы энергонезависимой памяти

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

Постоянная память ROM. Содержимое этой памяти программируется на этапе производства и не может быть изменено в процессе эксплуатации.

Однократно программируемая пользователем память PROM (Programmable ROM). Содержимое этой памяти может быть однократно запрограммировано пользователем.

Стираемая память EPROM (Erasable Programmable ROM). Микросхемы EPROM имеют небольшое окно для стирания содержимого с помощью ультрафиолетового излучения. После стирания память EPROM может быть снова запрограммирована.

Пример устаревшей микросхемы EPROM с окном для стирания УФ-светом

Рис. 3. Пример устаревшей микросхемы EPROM с окном для стирания УФ-светом

Энергозависимая память

Энергозависимая память RAM (Random Access Memory) или оперативное запоминающее устройство (ОЗУ) – это запоминающее устройство, которое сохраняет свое содержимое только при наличии напряжения питания. Существует два типа RAM: статическая и динамическая.

Ячейка динамического RAM или DRAM не только нуждается в присутствии напряжения питания, но и отличается постоянной потерей заряда, из-за чего содержимое DRAM требует периодической регенерации.

Статическая RAM или SRAM не требует регенерации и сохраняет свое содержимое при наличии напряжения питания.

В каких же случаях необходимо использовать SRAM или DRAM вместо любого из описанных выше энергонезависимых типов памяти? Ответ прост – в тех случаях, когда необходима высокая скорость и простота доступа к данным. Оперативная память оказывается не только намного быстрее энергонезависимых типов памяти, но и обеспечивает произвольный доступ к хранящимся в ней данным. Можно записывать или читать данные из любой области памяти с очень высокой скоростью, не беспокоясь о стирании страниц или блоков. Вместе с тем основным недостатком RAM является высокая стоимость. Таким образом, в большинстве вычислительных систем обычно используют комбинацию из RAM и flash-памяти. При этом каждый из этих типов памяти решает конкретные задачи, с учетом оптимального использования их преимуществ.

В категории энергозависимой памяти SRAM оказывается быстрее, чем DRAM, но при этом отличается и более высокой стоимостью. Это связано с тем, что для реализации ячейки SRAM требуется от четырех до шести транзисторов, а для ячейки DRAM требуется только один. Следовательно, на кристалле одного и того же размера можно уместить гораздо больше ячеек DRAM, чем ячеек SRAM.

В то же время для работы с DRAM требуется контроллер, который будет автоматически выполнять периодическую регенерацию содержимого памяти. Таким образом, использование DRAM вместо SRAM имеет смысл только в том случае, если стоимость контроллера перекрывается дешевизной DRAM-памяти.

SRAM чаще всего применяется в тех случаях, когда высокая скорость доступа имеет критическое значение, а объем необходимой памяти оказывается относительно небольшим.

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

Виды DRAM

Существуют различные виды DRAM. Исторически первые микросхемы DRAM сначала уступили место FPRAM (Fast Page RAM), которые в свою очередь были заменены на EDO RAM (Extended Data Output RAM), на смену которым, в конце концов, пришли микросхемы синхронной памяти DRAM или SDRAM.

Новые поколения SDRAM используют двойную скорость передачи данных (SDRAM included Double Data Rate). Речь идет о DDR2, DDR3 и DDR4.

Хотя каждое новое поколение SDRAM имело некоторые улучшения по сравнению с предыдущими поколениями, следует отметить, что сама базовая динамическая ячейка ОЗУ оставалась практически без изменений и обеспечивала лишь незначительное увеличение скорости доступа. С другой стороны, плотность размещения ячеек памяти или общее количество битов, упакованных в один чип, значительно увеличилось с течением времени. Тем не менее, основные улучшения в новых поколениях SDRAM были связаны именно с увеличением скорости передачи данных и уменьшением удельного энергопотребления.

SDRAM является основой для всех современных видов DRAM. До появления SDRAM память DRAM использовала асинхронной обмен, то есть после запроса на чтение данные сразу же появлялись на шине данных. В SDRAM данные синхронизируются с помощью тактового сигнала.

Например, после того, как SDRAM-память получает команду чтения, она начинает выставлять данные спустя определенное количество тактов. Эта задержка известна как строб адреса столбца CAS (Column Address Strobe). Она имеет фиксированное значение для каждого модуля памяти.

Кроме того, в SDRAM считывание данных всегда синхронизируется по фронту тактового сигнала. Таким образом, процессор точно знает, когда ожидать запрошенные данные.

DDR DRAM

Говоря о первом поколении SDRAM, его часто называют памятью с однократной скоростью передачи данных или SDR (Single Data Rate). Следующим эволюционным шагом в развитии SDRAM стало появление DDR SDRAM (Double Data Rate SDRAM) или памяти с удвоенной скоростью передачи данных.

На рис. 4 показана разница в обмене данными при работе с SDR и DDR SDRAM. Обратите внимание, что на этом рисунке задержка CAS не показана.

Передача данных при работе с SDR и DDR

Рис. 4. Передача данных при работе с SDR и DDR. Прием данных DDR выполняется как по фронту, так и по срезу тактового сигнала

DDR2, DDR3 и DDR4

При переходе от SDR к DDR передача данных стала вестись как по фронту, так и по срезу тактового сигнала. Далее при переходе от DDR2 к DDR4 SDRAM скорость передачи возрастала за счет использования некоторых хитрых приемов. При этом, как уже упоминалось ранее, скорость доступа к содержимому ячейки памяти DRAM не сильно изменилась из-за ограничений базовой технологии. В реальности эту скорость удалось увеличить всего в два раза.

Модуль DDR-памяти, используемый в компьютерах

Рис. 5. Модуль DDR-памяти, используемый в компьютерах

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

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

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

Заключение

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

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

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

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

Эти маленькие кусочки металла и пластика стали теми героями, которые наконец-то потеснили дискеты (а также CD, а зачастую и DVD) с пьедестала мобильных и универсальных носителей информации.

Что такое флешка

Что же такое флешка, и почему она позволяет вместить в столь маленький объём так много информации? В чём секрет успеха?

Технология флеш-памяти родилась в 1984-м году в компании Toshiba. В том же году она была представлена публике. И, хотя публика сразу узрела большой потенциал технологии, первый коммерческий вариант появился только через 4 года.

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

Сейчас флеш-накопители используются повсеместно.


Они имеют довольно большой для мобильного носителя объём (до 64 ГБ) и маленький размер. Кроме того, современные операционные системы позволяют использование флешек без установки драйверов.

Давайте рассмотрим устройство этих носителей поподробнее

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

Твердотельная полупроводниковая

Флеш-память состоит из массива ячеек, в каждой из которых находится по два транзистора.

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


Такая конструкция всяких подвижных частей (в отличие от тех же дискет), и, как следствие, менее подвержена негативным физическим воздействиям.

Кроме того, флеш-память имеет более высокую скорость считывания.

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

Энергозависимая

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

Кстати именно из-за того, что флешкам необходимо питание для работы, не рекомендуется вытаскивать их, предварительно не остановив работу.

Перезаписываемая

С этим пунктом всё понятно. Стоит лишь отметить, что количество циклов записи ограничено (считывать можно бесконечное количество раз).

Максимально возможно около миллиона циклов, но на практике встречаются модели, с числом циклов от 10 до 100 тысяч, что, тем не менее, во много раз больше, чем у дискеты или CD-RW.

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


Этим и обусловлен такой объём (сравнительно небольшой, по современным меркам) современных флешек.

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

Благодаря своим качествам флешки нашли своё применение в бесчисленном множестве современных устройств — мобильные телефоны, фотоаппараты, камеры, плейеры.

Флеш-память - принцип действия.

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

Читайте также: