В современных ssd накопителях применяется флеш память. Как узнать, сколько времени проработает ваш твердотельный накопитель SSD

09.04.2019

Флэш-память представляет собой тип долговечной памяти для компьютеров, у которой содержимое можно перепрограммировать или удалить электрическим методом. В сравнении с Electrically Erasable Programmable Read Only Memory действия над ней можно выполнять в блоках, которые находятся в разных местах. Флэш-память стоит намного меньше, чем EEPROM, поэтому она и стала доминирующей технологией. В особенности в ситуациях, когда необходимо устойчивое и длительное сохранение данных. Ее применение допускается в самых разнообразных случаях: в цифровых аудиоплеерах, фото- и видеокамерах, мобильных телефонах и смартфонах, где существуют специальные андроид-приложения на карту памяти. Кроме того, используется она и в USB-флешках, традиционно применяемых для сохранения информации и ее передачи между компьютерами. Она получила определенную известность в мире геймеров, где ее часто задействуют в промах для хранения данных по прогрессу игры.

Общее описание

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

Низкоуровневый доступ к данным

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

Устройство и принцип работы

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

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

В большинстве портативных устройств твердотельный накопитель использует тип памяти NOR. Однако сейчас все популярнее становятся приспособления с интерфейсом USB. В них применяется память типа NAND. Постепенно она вытесняет первую.

Главная проблема — недолговечность

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

Связано это с тем, что такой накопитель построен на свойстве полевых транзисторов сохранять в «плавающем» затворе отсутствие или наличие которого в транзисторе рассматривается в качестве логической единицы или ноля в двоичной Запись и стирание данных в NAND-памяти производятся посредством туннелированных электронов методом Фаулера-Нордхейма при участии диэлектрика. Для этого не требуется что позволяет делать ячейки минимальных размеров. Но именно данный процесс приводит к ячеек, так как электрический ток в таком случае заставляет электроны проникать в затвор, преодолевая диэлектрический барьер. Однако гарантированный срок хранения подобной памяти составляет десять лет. Износ микросхемы происходит не из-за чтения информации, а из-за операций по ее стиранию и записи, поскольку чтение не требует изменения структуры ячеек, а только пропускает электрический ток.

Естественно, производители памяти ведут активные работы в направлении увеличения срока службы твердотельных накопителей данного типа: они устремлены к обеспечению равномерности процессов записи/стирания по ячейкам массива, чтобы одни не изнашивались больше других. Для равномерного распределения нагрузки преимущественно используются программные пути. К примеру, для устранения подобного явления применяется технология «выравнивания износа». При этом данные, часто подвергаемые изменениям, перемещаются в адресное пространство флеш-памяти, потому запись осуществляется по разным физическим адресам. Каждый контроллер оснащается собственным алгоритмом выравнивания, поэтому весьма затруднительно сравнивать эффективность тех или иных моделей, так как не разглашаются подробности реализации. Поскольку с каждым годом объемы флешек становятся все больше, необходимо применять все более эффективные алгоритмы работы, позволяющие гарантировать стабильность функционирования устройств.

Устранение проблем

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

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

Стоит отметить, что увеличение емкости микросхем подобных устройств привело лишь к тому, что общее количество циклов записи сократилось, так как ячейки становятся все меньше, поэтому требуется все меньше и напряжения для рассеивания оксидных перегородок, которые изолируют «плавающий затвор». И тут ситуация складывается так, что с увеличением емкости используемых приспособлений проблема их надежности стала усугубляться все сильнее, а class карты памяти теперь зависит от многих факторов. Надежность работы подобного решения определяется его техническими особенностями, а также ситуацией на рынке, сложившейся на данный момент. Из-за жесткой конкуренции производители вынуждены снижать себестоимость продукции любым путем. В том числе и благодаря упрощению конструкции, использованию комплектующих из более дешевого набора, ослаблению контроля за изготовлением и иными способами. К примеру, карта памяти "Самсунг" будет стоить дороже менее известных аналогов, но ее надежность вызывает гораздо меньше вопросов. Но и здесь сложно говорить о полном отсутствии проблем, а уж от устройств совсем неизвестных производителей сложно ожидать чего-то большего.

Перспективы развития

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

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

Ferroelectric RAM (FRAM)

Технология ферроэлектрического принципа хранения информации (Ferroelectric RAM, FRAM) предлагается с целью наращивания потенциала энергонезависимой памяти. Принято считать, что механизм работы имеющихся технологий, заключающийся в перезаписи данных в процессе считываниям при всех видоизменениях базовых компонентов, приводит к определенному сдерживанию скоростного потенциала устройств. А FRAM - это память, характеризующаяся простотой, высокой надежностью и скоростью в эксплуатации. Эти свойства сейчас характерны для DRAM - энергонезависимой оперативной памяти, существующей на данный момент. Но тут добавится еще и возможность длительного хранения данных, которой характеризуется Среди достоинств подобной технологии можно выделить стойкость к разным видам проникающих излучений, что может оказаться востребованным в специальных приборах, которые используются для работы в условиях повышенной радиоактивности либо в исследованиях космоса. Механизм хранения информации здесь реализуется за счет применения сегнетоэлектрического эффекта. Он подразумевает, что материал способен сохранять поляризацию в условиях отсутствия внешнего электрического поля. Каждая ячейка памяти FRAM формируется за счет размещения сверхтонкой пленки из сегнетоэлектрического материала в виде кристаллов между парой плоских металлических электродов, формирующих конденсатор. Данные в этом случае хранятся внутри кристаллической структуры. А это предотвращает эффект утечки заряда, который становится причиной утраты информации. Данные в FRAM-памяти сохраняются даже при отключении напряжения питания.

Magnetic RAM (MRAM)

Еще одним типом памяти, который на сегодняшний день считается весьма перспективным, является MRAM. Он характеризуется довольно высокими скоростными показателями и энергонезависимостью. в данном случае служит тонкая магнитная пленка, размещенная на кремниевой подложке. MRAM представляет собой статическую память. Она не нуждается в периодической перезаписи, а информация не будет утрачена при выключении питания. На данный момент большинство специалистов сходится во мнении, что этот тип памяти можно назвать технологией следующего поколения, так как существующий прототип демонстрирует довольно высокие скоростные показатели. Еще одним достоинством подобного решения является невысокая стоимость чипов. Флэш-память изготавливается в соответствии со специализированным КМОП-процессом. А микросхемы MRAM могут производиться по стандартному технологическому процессу. Причем материалами могут послужить те, что используются в обычных магнитных носителях. Производить крупные партии подобных микросхем гораздо дешевле, чем всех остальных. Важное свойство MRAM-памяти состоит в возможности мгновенного включения. А это особенно ценно для мобильных устройств. Ведь в этом типе значение ячейки определяется магнитным зарядом, а не электрическим, как в традиционной флеш-памяти.

Ovonic Unified Memory (OUM)

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

Chalcogenide RAM (CRAM) и Phase Change Memory (PRAM)

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

Information-Multilayered Imprinted CArd (Info-MICA)

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

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

Простой способ ускорить работу вашего компьютера - установка на него SSD накопителя. Про мы уже говорили в одной из предыдущих статей. Эти накопители бывают нескольких типов и я бы хотел сегодняшнюю статью посвятить именно этому. Первый - SATA твердотельный диск, обычно он бывает в форм-факторе 2,5" и является универсальным решением с очень хорошей скоростью и достаточно приемлемой ценой.

Он подходит для любого компьютера, практически для любого ноутбука (бывают исключения, как например модели SONY, где используется диск форм-фактора 1,8"). Далее по списку у нас идет PCI, особенно обратите внимание на SSD PCI 3.0 - они обладают просто сумасшедшей скоростью и вы можете быть удивлены той производительностью, которую получаете с такими накопителями.

Но, у них, как и у всего хорошего, есть одни минус - достаточно высокая цена, которая зачастую в 2, а то и в 3 раза выше, чем у обычных SSD SATA 2,5 дисков. Еще существуют mSATA (на картинке ниже), что является сокращением от «mini SATA», они чаще всего используются в ноутбуках, однако, по скорости такие накопители ничем не отличаются от обычных SATA 2, то есть это тоже самое, но в более маленьком форм-факторе.

Посмотрите - насколько меньше mSATA SSD диск (зеленая печатная плата сверху) по сравнению с обычным 2,5" жестким диском

Примечательно, что существуют SSD исключительно для Apple (они и тут остались обособленными «личностями»), и они стоят еще дороже, хотя по производительности ничем не отличаются от тех же самых PCI SSD. Скорость записи тут может составлять 700 Мб/с - что является шикарным показателем.

Если вы хотите купить SSD себе, то вам в любом случае придется выбирать между SATA и PCI версиями, и тут уже вопрос цены. Если вы проводите за своим компьютером очень много времени, то обязательно попробуйте PCI версию накопителя. Потому что он сам по себе идет в RAID-массиве (это когда 2 жестких диска соединяются в один, грубо говоря), в этом случае информация считывается сразу с двух устройств, что ускоряет работу системы ровно в 2 раза.

PCI SSD - устанавливается внутрь системного блока компьютера

То есть, к примеру, та же Windows устанавливается сразу на 2 флеш-накопителя (2 разных чипа) и считывается с них одновременно, что является поистине великолепным решением для увеличения производительности компьютера, однозначно рекомендую к покупке.

Если же вы просто хотите хоть как то ускорить свой старый компьютер, который, возможно, в скором времени планируете поменять на что-нибудь более производительное, или просто первый раз хотите попробовать твердотельный накопитель в работе - однозначно рекомендую взять всем привычный и проверенный временем SATA 2,5 SSD.

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

И вот тут-то как раз и заключаются фундаментальные отличия различных типов памяти SSD. То есть, не важно - какая модель памяти используется в самом накопителе, контроллер в любом случае должен сначала поделить ее на так называемые ячейки. А вот сколько бит информации помещается в одну ячейку - определяет как раз тип NAND памяти. В настоящее время применяется всего три разновидности: SLC, MLC, TLC (как разновидность MLC).

SLC

SLC (Single Level Cell) - позволяет сохранять в одну ячейку только 1 бит информации - ноль или единица. Это самый дорогой вид NAND-микросхем. Дороговизна определяется сложностью в производстве таких накопителей. Кроме цены, к недостаткам еще можно отнести низкую емкость - порядка 60 Гб, например.

Однако, такой накопитель будет быстрее и надежнее всех других, за счет того, что ячейка будет перезаписываться намного реже, что, как известно, существенно продлевает ресурс самого устройства. До 100 000 раз можно перезаписывать одну ячейку, по уверениям производителей. Кроме того, технология SLC обеспечивает наибольшую скорость чтения/записи информации, и такие накопители самые быстрые.

На данный момент рынок SLC-решений сформирован крайне слабо. До недавнего времени одним из известных таких накопителей был Intel X25-E, который имел емкость всего лишь 64 Гб. Стоил он порядка 20000 рублей - что крайне дорого, ведь за эти же самые деньги можно с легкостью купить SSD диск емкостью около 1 терабайта (1000 Гб), правда - с MLC памятью.

MLC

MLC (Multi-Level Cell) - многоуровневая ячейка, позволяет записывать сразу два бита информации, что теоретически снижает ее ресурс ровно вдвое. Однако, по факту ресурс MLC SSD диска еще ниже. Изначально накопители предлагали до 10000 циклов перезаписи, затем этот показатель упал до 5000, а затем стал таким, как указано в таблице.

Тем не менее, на сегодняшний день является самым распространенным типом памяти на рыке твердотельных накопителей . Моделей такого типа просто огромное количество, их емкость уже существенно выше, чем у SLC моделей, и может достигать до 1 Тб и даже выше. Кроме того, цена MLC-накопителей той же емкости будет существенно ниже, чем в случае с SLC. Как видно из таблицы, быстродействие MLC тоже несколько хуже.

Существует еще подвид MLC - eMLC (enterprise MLC), из достоинств: увеличенный срок службы чипов, за счет большего количества возможных циклов записи/перезаписи. Мало кто знает, но у компании Samsung, например, имеется уникальная технология под названием «3D V-NAND», которая позволяет разместить ячейки вертикально, значительно расширяя объем памяти без удорожания производства.

TLC

TLC (Triple Level Cell) - угадайте, сколько бит информации может хранить такая TLC-ячейка? Все правильно, целых три. То есть, как вы уже поняли, все эти сокращения говорят нам о плотности хранения информации в NAND-чипах. Получается, самая «экономная» память будет именно TLC. Похожие (TLC) чипы применяются во флешках, где срок службы (количество циклов перезаписи) не является столь важным параметром. Кроме того, технология TLC очень дешева в производстве.

Я бы порекомендовал использовать TLC - как жесткий диск (не путать с HDD диском) для установки на него игр, например. А что, скорость чтения с него будет в разы выше, чем даже у самого быстрого HDD, а стоимость TLC твердотельных накопителей самая низкая из всех, на сегодняшний день (но все равно дороже, чем HDD). А для установки ОС лучше использовать накопитель с MLC, так как она более надежная и долговечная, нежели TLC.

ONFi и Toggle Mode

Накопители (твердотельные диски) с MLC делятся на два вида в соответствии с используемым интерфейсом. Обе эти аббревиатуры обозначают не просто разные интерфейсы, но и объединения (альянсы) разных производителей флеш-памяти, выпускающейся по определенному стандарту. Например, Intel, Micron, Spectec, Hynix относятся к «ONFI». А Samsung, Toshiba, SanDisk - соответственно к «Toggle Mode».

Оба интерфейса бывают разных версий, версии определяют пропускную способность для каждого канала NAND. Кроме того, ONFI делится на асинхронный и синхронный, последний - обеспечивает быстродействие, но при этом нехило повышает цену девайса. Ну а асинхронный, соответственно - дешевле, но медленней. При прочих равных память Toggle Mode «на бумаге» выглядит несколько быстрее ONFi в операциях «последовательная запись» и «случайное чтение».

Как определить тип памяти SSD?

Попробовать узнать его программным путем можно, например, с помощью программы «SSD-Z». Ну а еще эту информацию можно поискать в обзорах накопителей, либо на специальных сайтах (чаще всего англоязычных) - сборниках характеристик моделей SSD.

#Тип_чипов #3D_MLC_(Multi_Level_Cell) MLC_(Multi_Level_Cell) #3D_TLC_(Triple_Level_Cell) #TLC_(Triple_Level_Cell)

В современных SSD наиболее распространены три типа чипов памяти : SLC, MLC и TLC.

SLC – Single Level Cell – ячейка с одним уровнем. Имеет высокую производительность, низкое потребление электроэнергии, наибольшую скорость записи и количество . Такой тип памяти обычно используется в серверах высокого уровня, поскольку стоимость на их основе велика.

MLC - Multi Level Cell – ячейка с несколькими уровнями. Обладает меньшей стоимостью, по сравнению с SLC, однако обладает меньшей выносливостью и меньшим количеством . Является хорошим решением для коммерческих и рабочих платформ - имеет хорошее соотношение цена/скорость работы.

EMLC - Enterprise Multi Level Cell – ячейка, аналогичная по структуре обычной MLC, но с увеличенным ресурсом по . По надежности eMLC находится между SLC и MLC, при этом цена не сильно выше, чем у последней. Типичное применение - рабочие станции и серверы среднего класса.

TLC - Three Level Cell – ячейка с тремя уровнями. Обладает большей плотностью, но меньшей выносливостью, медленной скоростью чтения и записи и меньшим количеством по сравнению с SLC и MLC. До настоящего момента, память типа TLC использовалась в основном в flash-накопителях (флешках), однако совершенствование технологий производства сделало возможным его использование и в стандартных SSD.

Все описанные выше типы ячеек памяти относятся к планарному типу, то есть 2D. Их недостатком является то, что для увеличения плотности в каждом отдельном чипе приходится уменьшать техпроцесс, и из-за ряда физических ограничений делать это до бесконечности не получится. Для преодоления этого были разработаны 3D ячейки памяти. Такие ячейки представляет собой цилиндр:

Таким образом появляется возможность разместить большее количество ячеек памяти на одном слое микросхемы. Такие ячейки называются 3D V-NAND и 3D TLC. Что касается емкости и надежности, то она соответствует ячейкам TLC.

Количество состояний ячейки, в зависимости от типа памяти
Физически, все три типа технологий памяти состоят из одинаковых транзисторов, единственным отличием является то, что они хранят в себе различное количество зарядов. Все три работают одинаково: при появлении напряжения ячейка переходит из состояния «выключено» в состояние «включено». SLC использует два отдельных значения напряжения для представления одного бита информации на ячейку и двух логических уровней (0 и 1). MLC использует четыре отдельных значения напряжения для представления четырех логических состояний (00, 01, 10, 11) или двух битов. TLC использует восемь отдельных значений напряжения для представления восьми логических состояний (000, 001, 010, 011, 100, 101, 110, 111) или трех битов информации.

Поскольку в SLC используется только два значения напряжения, они могут сильнее отличаться друг от друга, уменьшая потенциальную возможность некорректно интерпретировать текущее состояние ячейки и позволяя использовать стандартные условия коррекции ошибки . Вероятность ошибок чтения увеличивается при использовании TLC NAND, поэтому такой тип памяти требует большего объема ECC (Error Correction Code – код коррекции ошибок) при исчерпании ресурса NAND, поскольку в TLC приходится корректировать сразу три бита информации, в отличие от одного для SLC и двух для MLC.

2017-05-25 Дата последнего изменения: 2018-10-10

В статье рассматриваются: Особенности применения микросхем NAND FLASH , методы разметки страниц и управления плохими блоками. Рекомендации по программированию на программаторах.

CОДЕРЖАНИЕ:

1. ТЕОРИЯ

1.1. Отличие микросхем NAND FLASH от обычных микросхем

Если не вникать в тонкости технологий, то отличие микросхем NAND от других микросхем памяти заключается в следующем:

  • Микросхемы NAND имеют очень большой объем .
  • Микросхемы NAND могут иметь плохие (сбойные) блоки .
  • Размер страницы записи не является степенью 2 .
  • Запись в микросхему осуществляется только страницами , стирание - минимум блоками .

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

1.2. Организация микросхем NAND FLASH

Более подробно об организации и структуре микросхем NAND можно прочитать в специальной литературе, мы же отметим, что:

  • Микросхемы NAND организованы в страницы (pages ), страницы в блоки (bloks ), блоки в логические модули (lun ).
  • Размер страницы NAND не кратен степени 2 .
  • Страница состоит из основной и запасной (spare ) областей.

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

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

1.3. Способы использования запасной области страницы

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

Большинство разработчиков описывает только место расположения маркеров плохих блоков в поставляемых микросхемах. По остальным аспектам использования запасной области даются общие рекомендации и алгоритм вычисления ЕСС, обычно по Хэмингу. Samsung идут несколько дальше, разработав рекомендации с названием "Запасная область флэш-памяти NAND. Стандарт назначения " ("NAND Flash Spare Area. Assignment Standard", 27. April. 2005, Memory Division, Samsung Electronics Co., Ltd).

Итак, этот стандарт предполагает следующее использование запасной области:

Для микросхем с размером страницы 2048+64 бай т основная и запасная область страницы разбивается на 4 фрагмента (сектора) каждая:

Область Размер (байт) Фрагмент
Основная 512 Сектор 1
512 Сектор 2
512 Сектор 3
512 Сектор 4
Запасная 16 Сектор 1
16 Сектор 2
16 Сектор 3
16 Сектор 4

Каждому фрагменту их основной области ставится в соответствие фрагмент запасной области .

Использование запасной области (для каждого из четырех фрагментов)
у микросхем с размером страницы 2048+64 байт:
Смещение
(байт)
Размер
(байт)
Назначение Описание
Маркер плохого блока
Зарезервировано
Логический номер сектора
Зарезервировано для номера сектора
Зарезервировано
ECC код для основной области страницы
ECC код для логического номера сектора
Зарезервировано

Но это не единственный "стандарт" для распределения памяти страниц, только нам известны их несколько десятков, например:

  • "NAND FLASH management under WinCE 5.0 ", NXP;
  • "Bad Block Management for NAND Flash using NX2LP ", December 15, 2006, Cypress Semiconductor;
  • "OLPC NAND Bad Block Management ", OLPC.

1.4. Образ NAND и двоичный образ

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

  1. Двоичный файл не разбитый на страницы и без запасной области .
    Такой вариант возможен если вы - разработчик устройства с использованием NAND или получили такой файл от разработчика. Такой образ подходит для записи в микросхемы со страницами любого объема и любым распределением запасной области, только нужно знать каким методом будет формироваться запасная область.
  2. Образ, считанный из другой микросхемы (образца), содержащий запасную область с разметкой плохих блоков, служебной информацией и контрольными кодами.
    Такой образ можно записать только в микросхему с точно такими же размерами страниц и блоков.

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

1.5. Заводская маркировка плохих блоков

Единственное что более или менее стандартизовано, так это заводская маркировка плохих блоков .

  • Плохие блоки маркируются на 0-й или 1-й странице для микросхем с размером страницы менее 4К.
  • Для страниц 4К и более , маркировка может находиться на последней странице блока.
  • Сам маркер плохих блоков располагается в запасной области страницы в 5-м байте для маленьких страниц (512 байт) и в 0-м байте для больших (2K).
  • Маркер плохого блока может иметь значение 0x00 или 0xF0 для маленьких страниц и 0x00 для больши х.
  • Хорошие блоки всегда маркируются 0xFF .
  • В любом случае значение отличное от 0xFF программатор воспринимает как маркер плохого блока .
  • Как правило, в современных NAND плохой блок полностью заполнен значением 0x00 .

Есть одна проблема: плохой блок можно стереть . Таким способом можно потерять информацию о плохих блоках микросхемы.

Однако, если микросхема уже работала в устройстве, далеко не всегда используется такая методика маркировки плохих блоков. Иногда даже информация о плохих блоках не хранится в памяти NAND. Но, чаще всего, если даже разработчик программного обеспечения устройства использует иную схему управления плохими блоками, заводскую разметку предпочитает не стирать.

1.6. Управление плохими блоками

Разработчики NAND микросхем предлагают использовать следующие схемы управления плохими блоками:

  • Пропуск плохих блоков
  • Использование запасной области

Также к методам управления плохими блоками иногда относят использование коррекции ошибок (ECC). Необходимо отметить, что использование коррекции одиночных ошибок не избавляет от множественных ошибок и все равно вынуждает использовать одну из приведенных выше схем. Кроме этого, большинство NAND микросхем имеют гарантировано бессбойную область, в которой не появляются плохие блоки. Бессбойная область, как правило, располагается в начале микросхемы.

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

Пропуск плохих блоков:
Если текущий блок оказался сбойным он пропускается и информация пишется в следующий свободный блок. Эта схема универсальна, проста в реализации, однако несколько проблематична для случаев, когда плохие блоки появляются в процессе эксплуатации. Для полноценной работы этой схемы логический номер блока должен хранится внутри блока (стандарт назначения запасной области от Самсунг, собственно это и предполагает). При работе по этой схеме контроллер должен где-то хранить таблицу соответствия логических номеров блоков их физическим номерам иначе доступ к памяти будет сильно замедлен.

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

2. ПРАКТИКА

2.1. Сканирование плохих блоков микросхемы NAND

Программатор ChipStar позволяет быстро сканировать микросхему NAND на наличие плохих блоков в соответствии с заводской маркировкой плохих блоков.

Выберите пункт меню "Микросхема|Искать плохие блоки ", микросхема будет проверена на наличие плохих блоков. Результат показан в виде таблицы.

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

2.2. Плохие блоки в образе NAND

При считывании образа микросхемы NAND программатор дополнительно сохраняет информацию о размере страницы и блока микросхемы. Информация сохраняется в отдельном файле. Так если вы считали и сохранили образ микросхемы в файле <имя_файла>.nbin программа создаст еще один файл: <имя_файла>.cfs . При открытии файла <имя_файла>.nbin файл <имя_файла>.cfs так же будет считан. В файле <имя_файла>.cfs записывается информация о размере страницы и блока микросхемы. После считывания микросхемы или открытия файла типа .nbin , производится фоновое сканирование образа на наличие плохих блоков исходя из информации о размере страницы и блока.

Параметры NAND и информацию о плохих блоках можно посмотреть в закладке "NAND " редактора программатора:

Двоичный образ NAND можно просматривать в закладке "Основная память ":

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

2.3.Стирание NAND

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

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

2.4. Тестирование микросхемы на отсутствие записи

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

2.5. Запись готового образа в микросхему

Запись образа NAND в микросхему несколько отличается от обычных FLASH микросхем. Прежде всего должны совпадать размеры страниц образа и целевой микросхемы. Если используется управление плохими блоками должны совпадать размеры блоков образа и микросхемы.

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

Способ 1: игнорирование плохих блоков

Простое копирование с игнорированием плохих блоков (плохие блоки пишутся так же, как нормальные).

Исходный образ Микросхема
(исходное состояние)
Микросхема
(результат)
Блок 0
хороший
Блок
чистый
Блок 0
хороший
Блок 1
плохой
Блок
чистый
Блок 1
ложный
Блок 2
хороший
Блок
чистый
Блок 2
хороший
Блок 3
хороший
Блок
плохой
Блок 3
сбойный
Блок 4
хороший
Блок
чистый
Блок 4
хороший
Граница записи
Блок 5
хороший
Блок
чистый
Блок
чистый

Наиболее хорошо подходит для копирования микросхем NAND , не вникая в ее внутреннюю структуру, при условии, что записываемая микросхема не содержит плохих блоков . Если в исходном образе присутствовали плохие блоки , в итоге образуются ложные плохие блоки . Появление ложных плохих блоков не скажется на функционировании устройства. Однако, если микросхема уже содержит плохие блоки, при попытке записи в такую микросхему появятся сбойные блоки с непредсказуемыми последствиями. Совет: можно попытаться стереть микросхему полностью, включая плохие блоки, затем выполнить копирование. Если запись в плохой блок завершится успешно (такое часто бывает), ваше устройство будет функционировать правильно, в дальнейшем программное обеспечение устройства выявит плохой блок и заменит его хорошим в соответствии со своим алгоритмом работы.

Способ 2: обход плохих блоков

Исходный образ Микросхема
(исходное состояние)
Микросхема
(результат)
Блок 0
хороший
Блок
чистый
Блок 0
хороший
Блок 1
плохой
Блок
чистый
Блок
чистый
Блок 2
хороший
Блок
чистый
Блок 2
хороший
Блок 3
хороший
Блок
плохой
Блок
плохой
Блок 4
хороший
Блок
чистый
Блок 4
хороший
Граница записи
Блок 5
хороший
Блок
чистый
Блок
чистый

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

Способ 3: пропуск плохих блоков

Исходный образ Микросхема
(исходное состояние)
Микросхема
(результат)
Блок 0
хороший
Блок
чистый
Блок 0
хороший
Блок 1
плохой

Блок
чистый
Блок 2
хороший
Блок 2
хороший
Блок
чистый
Блок 3
хороший
Блок 3
хороший
Блок
плохой
Блок
плохой
Блок 4
хороший
Блок
чистый
Блок 4
хороший
Граница записи
Блок 5
хороший
Блок
чистый
Блок
чистый

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

Способ 4: запись только гарантированно бессбойной области

Исходный образ Микросхема
(исходное состояние)
Микросхема
(результат)
Блок 0
хороший
Блок
чистый
Блок 0
хороший
Блок 2
хороший
Блок
чистый
Блок 1
хороший
Граница записи
Блок
плохой
Блок
чистый
Блок
чистый
Блок 3
хороший
Блок
плохой
Блок
плохой
Блок 4
хороший
Блок
чистый
Блок
чистый
Блок 5
хороший

Блок
чистый

Блок
чистый

В большинстве современных NAND микросхем первые блоки (как минимум один) гарантированно не имеют сбоев. Во многих устройствах в начале микросхемы располагается код загрузчика и операционной системы устройства. Часто бывает достаточно копирования только этих областей.

В диалоге настроек режимов записи укажите записываемый размер в блоках.

Другие способы управления плохими блоками

Программное обеспечение программаторов ChipStar поддерживает любые алгоритмы управления плохими блоками NAND при помощи внешних плагинов. При наличии установленных плагинов описания дополнительных методов появляются в списке "Управление плохими блоками NAND ". Настроить параметры выбранного метода можно нажав кнопку "Внешний плагин ".

Использование кодов, исправляющих ошибки (ECC)

Использование кодов, исправляющих ошибки позволяет восстанавливать одиночные ошибки на странице NAND.

Могут быть использованы разные алгоритмы, восстанавливающие одиночные ошибке в секторе. В зависимости от алгоритма ECC , может быть восстановлено разное количество ошибок на сектор (512+16 байт). Под термином "одиночные " понимается ошибка только в одном бите данных. Для NAND с размером страницы 512+16 байт понятие "сектор " и "страница " совпадают. Для NAND с большим размером страниц программатор ChipStar использует схему разметки страницы на сектора, как описано . В установках записи или верификации можно указать, сколько ошибок на сектор может исправлять используемый в вашем устройстве алгоритм. Соответственно, микросхемы с допустимым количеством ошибок не будут забракованы, информация о количестве исправимых ошибок выводится в окне статистики:

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

При самостоятельном добавлении микросхем:

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

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

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

Программное обеспечение программатора ChipStar предлагает косвенный статистический способ выявления и устранения одиночных ошибок. Способ позволяет выявить только неустойчивые ошибки с не гарантированной достоверностью. Для выполнения чтения с выявлением ошибок нужно выбрать режим "Выборочное чтение " и на закладке "NAND" отметить флажок "Включить режим исправления ошибок "

Можно настроить количество повторов чтения для сравнения и общее количество повторов чтения при ошибке. Следует иметь в виду, что использование данного способа существо замедляет процесс чтения.

Статистический алгоритм выявления ошибок работает следующим образом:

  1. Страница NAND считывается несколько раз подряд (не менее трех).
  2. Считанные данные побайтно сравниваются.
  3. Если ошибок сравнения не выявлено, предполагается, что страница не содержит ошибок.
  4. Если обнаружены ошибки при сравнении, страница считывается еще несколько раз.
  5. По каждой ошибке подсчитывается количество считанных единиц и нулей .
  6. Правильным значением ("0" или "1") считается, то, которых оказалось больше.

Алгоритм хорошо работает в том случае, если вероятность ошибки в конкретном бите микросхемы меньше 0.5. При чтении микросхемы ведется подсчет "исправленных" ошибок и вероятности правильного чтения.

2.6. Преобразование двоичного образа в образ NAND

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

Задайте режим преобразования в формат NAND: "Образ двоичный... ", укажите размер страницы и блока NAND или выберите необходимую микросхему. Выберите формат запасной области. Программатор поддерживает простое заполнение области значениями FF встроенными средствами и другие способы при помощи плагинов. Вместе с программатором поставляется плагин, реализующий назначения запасной области, рекомендованный Самсунг.

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

2.7. Совместимость с образами NAND, считанными другими программаторами

Если у вас есть образ NAND , считанный другим программатором или полученный из другого источника, его нужно преобразовать в формат, пригодный для записи программатором ChipStar .

Для этого выполните следующие действия:

  • Откройте ваш файл, выберите пункт меню "Правка|Переключить режим NAND редактора ". Появится диалог, как показано выше.
  • Задайте режим преобразования в формат NAND : "Образ уже NAND... ", укажите размер страницы и блока NAND или выберите необходимую микросхему. Нажмите "Продолжить ".
  • В редакторе появится закладка "NAND " и начнется сканирование образа на плохие блоки.
  • Полученный файл можно сохранить в формате NAND , файл получит расширение .nbin по умолчанию.
Существует два основных типа Flash-памяти: NOR и NAND. Каждый из них имеет свои преимущества и недостатки, которые и определяют области использования каждой технологии. Их основные характеристики представлены в таблице.

NOR Flash Memory

Память NOR, названная так в честь особой разметки данных (Not OR – логическое Не-ИЛИ), является высокоскоростной памятью Flash. Память NOR предоставляет возможность высокоскоростного, случайного доступа к информации, и обладает способностью записывать и считывать данные в определенном месте без необходимости обращаться к памяти последовательно. В отличие от NAND памяти, память NOR позволяет обращаться к данным размером до одного байта. Технология NOR выигрывает в ситуациях, когда данные случайным образом записываются или читаются. Поэтому NOR чаще всего встраивают в сотовые телефоны (для хранения операционной системы) и планшеты, а также используется в компьютерах для хранения BIOS.

NAND Flash Memory

NAND память была изобретена после NOR, и также названа в честь особой разметки данных (Not AND – логическое Не-И). NAND память записывает и считывает данные с высокой скоростью, в режиме последовательного чтения, упорядочивая данные в небольшие блоки (страницы). Память NAND может считывать и записывать информацию постранично, однако не может обращаться к конкретному байту, как NOR. Поэтому NAND обычно используют в твердотельных накопителях (), аудио и видео проигрывателях, телевизионных приставках, цифровых камеры, мобильных телефонах (для хранения пользовательской информации) и других устройствах, в которых данные, как правило, записываются последовательно.

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