Программирование NAND FLASH. Тип памяти TLC и MLC: что лучше для ноутбука или ПК

Авто 20.07.2019
Авто

В настоящее время все больше популярности набирают твердотельные накопители или SSD (S olid S tate D rive). Связанно это с тем, что они способны обеспечить как высокую скорость чтения-записи файлов, так и хорошую надежность. В отличии от обычных жестких дисков, здесь нет движущихся элементов, а для хранения данных используется специальная флеш-память — NAND.

На момент написания статьи в ССД используются три вида флеш-памяти: MLC, SLC и TLC и в этой статье мы постараемся разобраться какая из них лучше и в чем различие между ними.

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

Теперь давайте рассмотрим, какие виды памяти применяются в твердотельных накопителях.

Single Level Cell (SLC)

SLC — это уже устаревший тип памяти, в котором использовались одноуровневые ячейки памяти для хранения информации (кстати, дословный перевод на русский язык звучит как «Одноуровневая ячейка»). То есть, в одной ячейки хранился один бит данных. Подобная организация хранения данных позволяла обеспечить высокую скорость и огромный ресурс перезаписи. Так, скорость чтения достигает 25 мс, а количество циклов перезаписи — 100’000. Однако, несмотря на свою простоту, SLC является очень дорогим типом памяти.

Плюсы:

  • Высокая скорость чтения-записи;
  • Большой ресурс перезаписи.

Минусы:

  • Высокая стоимость.

Multi Level Cell (MLC)

Следующим этапом развития флеш-памяти является тип MLC (в переводе на русский звучит как «мультиуровневая ячейка»). В отличии от SLC, здесь используются двухуровневые ячейки, которые хранят по два бита данных. Скорость чтения-записи остается на высоком уровне, однако выносливость значительно снижается. Если говорить языком цифр, то здесь скорость чтения составляет 25 мс, а количество циклов перезаписи — 3’000. Также этот тип является и более дешевым, поэтому он используется в большинстве твердотельных накопителях.

Плюсы:

  • Более низкая стоимость;
  • Высокая скорость чтения-записи по сравнению с обычными дисками.

Минусы:

  • Низкое количество циклов перезаписи.

Three Level Cell (TLC)

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

Этот тип является более плотным, в каждой ячейке здесь хранится по 3 бита. В свою очередь, высокая плотность приводит к снижению скорости чтения/записи и снижает выносливость диска. В отличии от других типов памяти, скорость здесь снизилась до 75 мс, а количество циклов перезаписи — до 1’000.

Плюсы:

  • Высокая плотность хранения данных;
  • Низкая стоимость.

Минусы:

  • Низкое количество циклов перезаписи;
  • Низкая скорость чтения-записи.

Заключение

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

Бюджетным, и в тоже время, менее скоростным является тип TLC.

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

Всем привет! Буквально на днях встретил своего давнишнего приятеля. Мы разговорились, и он, со словами «Смотри с каким телефоном я сейчас хожу!», продемонстрировал свою старенькую кнопочную Nokia. Выяснилось, что на его iPhone стала постоянно «слетать» прошивка - пришлось отдать смартфон в сервисный центр. Казалось бы, обычное дело...

Однако, для приятеля оказался необычным тот перечь работ, которые будет проводить сервис. Полная диагностика, обновление программного обеспечения (при необходимости) и другие «обычные штуки» - здесь все стандартно и понятно. Главный же вопрос вызвала вот такая фраза мастера - «скорей всего, надо перекатывать Nand Flash».

Я, конечно, в сервисе не показал что не понимаю о чем речь - дескать и так все знаю без вас. Вы главное - делайте. Но пришел домой и сразу полез «гуглить» - а что это вообще такое, Nand Flash? И на фига его куда-то катать внутри iPhone?

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

Что такое Nand Flash в iPhone?

Это внутренняя память устройства. Да, да, то самое и которого очень часто не хватает владельцам iPhone на 16 GB.

Грубо говоря, Nand Flash в iPhone 7 32 GB это и есть те самые 32 GB внутренней памяти.

Расположена память на основной системной плате устройства и ни чем примечательным не выделяется - самый обычный чип.

Естественно, это никакая не флешка - нельзя разобрать iPhone, легко отсоединить Nand Flash, поставить другую и думать что все будет «ОК». Не будет. Хотя, стоит оговориться, что в некоторых случаях это все-таки возможно. Но об это чуть дальше. А пока переходим к неполадкам...

Причины неисправности

Вариантов не очень много, и все они, как правило «стандартные»:

  1. Падения устройства.
  2. Иные физические повреждения.
  3. Попадание жидкости.
  4. Брак.
  5. Джейлбрейк.

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

Хотя, отдельно все-таки отмечу такой пункт, как заводской брак - такое тоже очень даже возможно. Я был свидетелем подобной ситуации - iPhone только что куплен, а работать толком не работает - перезагружается, при восстановлении показывает ошибки и вообще ведет себя странно. Отдали в сервис, как итог - брак Nand Flash памяти и последующая замена устройства.

Симптомы неисправности Flash памяти iPhone

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


Кстати, об ошибках...

Ошибки iTunes, указывающие на неисправность Nand Flash

Самый верный способ борьбы с различными неполадками в работе устройства. Однако, если у iPhone существуют проблемы с Nand Flash памятью, то процесс восстановления может прерываться и сопровождаться следующими характерными ошибками:


Но, важно помнить вот о чем - iTunes устроен таким образом, что одна и та же цифра ошибки может иметь несколько причин.

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

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

Ремонт Nand Flash памяти - возможно ли это?

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

В который раз отдельно замечу - если у вашего iPhone не закончился гарантийный срок (), то ничего выдумывать не нужно - . С большой долей вероятности вы получите взамен новое устройство.

Если с гарантией «пролет», а ремонт Nand Flash памяти все-таки необходим, то у сервисного центра есть два варианта исправления ситуации:


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

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

P.S. Да уж, короткой заметки не получилось:) Впрочем, что есть, то есть - не удалять же теперь. Да и информация полезная - кому-нибудь да пригодится. Согласны? Ставьте «лайки», жмите на кнопки социальных сетей - поддержите автора! Он старался, честно. Спасибо!

P.S.S. Остались какие-то вопросы? Есть чем дополнить статью или хочется рассказать свою историю? Для этого существуют комментарии - пишите смело!

В 1989 году состоялся анонс Nand Flash памяти, данная разработка была представлена компанией Toshiba на International Solid-State Circuits Conference. До этого существовали только разработки NOR памяти, основными недостатками которой были: скорость работы и большая площадь чипа. Основным отличием NAND Flash от Nor Flash являются особенности адресации, если в NOR Flash можно адресовать произвольную ячейку, то в NAND Flash применена страничная адресация (обычно размер страницы 528, 2112, 4224, 4304, 4320, 8576 байт).

На сегодня существует масса устройств, где используются микросхемы NAND Flash в том числе и в различных носителях информации, таких как SSD накопители, USB Flash, различные Flash card (MMC, RS-MMC, MMCmicro, SD, miniSD, MicroSD, SDHC, CF, xD, SmartMedia, Memory Stick и т.д.)

Принципиально носители информации на NAND Flash из себя представляют микроконтроллер, который обеспечивает работу с микросхемами памяти, а также работу с различными устройствами по заданному стандартами интерфейсу. В большинстве устройств это выглядит как небольшая плата, на которой размещены одна или несколько микросхем NAND Flash памяти в конструктивном исполнении TSOP-48, short TSOP-48 или TLGA-52 и микроконтроллер. Миниатюрные устройства, как правило выполнены в виде одного чипа в который интегрированы как микросхема Nand Flash, так и микроконтроллер.

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

Для равномерного износа NAND Flash практически во всех контроллерах организованно разделение адресного пространства на логические банки, которые в свою очередь разделяются на блоки (состоящие из нескольких страниц памяти), обычно на 256-2048 блоков. Контроллером ведется учет количества записей в каждый из блоков. Для того чтобы данные пользователя можно было свободно перемещать внутри банка, для этого имеется логическая нумерация блоков т.е. на практике при чтении микросхемы в дамп видим картину что данные пользователя в виде достаточно крупных блоков (16кб – 4Мб) хаотично перемешаны. Порядок работы с пользовательскими данными отражен в трансляторе в виде таблицы в которой указан порядок построения блоков для того чтобы получить упорядоченное логическое пространство.

Для увеличения операций чтения/записи производители контроллеров реализуют функции распараллеливания данных, то есть прямая аналогия с RAID массивом уровня 0 (stripe), только немного более сложная реализация. На практике это выглядит либо в виде внутриблочного распараллеливания (интерлива), на более мелкие подблоки (как правило от 1 байта, до 16Кб), также симметричное распараллеливание (страйп) между физическим банками микросхемы NAND Flash и между несколькими микросхемами.

Стоит понимать, что при таком принципе работы, транслятор накопителя – постоянно изменяющаяся таблица, практически при каждой записи в NAND Flash. Исходя из принципа работы с NAND Flash – чтение блока в буфер, внесение изменений и запись блока на место, очевидно, что наиболее опасны для данных являются незавершенные операции записи; например, когда происходит запись измененного транслятора. В результате необдуманного обращения с накопителями: внезапного извлечения их из USB разъема или из разъема кардридера во время записи, чревато разрушением служебных данных, в частности таблицы трансляции.

При разрушение служебных данных, накопитель не может функционировать или в некоторых случаях функционирует неверно. Извлечение данных программными средствами, как правило, не представляется возможным по многим причинам. Одно из решений – это выпаивание микросхем NAND Flash с последующим чтением на соответствующем считывателе (программаторе). Учитывая, что оригинальный транслятор отсутствует, либо поврежден, предстоит работа по разбору дампа извлеченного из микросхемы NAND Flash. Многие, наверное, обратили внимание на кажущийся странным размер страниц памяти в NAND Flash. Это объясняется тем, что в каждой странице, кроме данных пользователя имеются служебные данные обычно это представлено в виде 512/16; 2048/64; 4096/128; 4096/208 (существуют и значительно более сложные варианты организации данные/служебка). В служебных данных присутствую различные маркеры (маркер, номера блока в логическом банке; маркер ротации блока; ECC; и т.п.) Восстановление пользовательских данных сводится к устранению распараллеливания данных внутри блоков, между банков и между микросхемами памяти для получения цельных блоков. Если есть необходимость, то устраняются внутриблочные ротации, ренумерации и т.п. Дальнейшая задача, состоит в поблочной сборке. Для того чтобы ее осуществить необходимо четко уяснить количество логических банков, количество блоков в каждом логическом банке, количество используемых блоков в каждом банке (задействованы не все) местонахождение маркера в служебных данных, алгоритм нумерации. И только потом производить сбор блоков в конечный файл-образ из которого можно будет произвести чтение пользовательских данных. В процессе сбора подстерегают подводные камни в виде нескольких блоков-претендентов на одну позицию в конечный файл-образ. После решение данного круга задач, получаем файл-образ с пользовательской информацией.

В случаях, когда данные не играют никакой роли, но есть желание восстановить работоспособность самого накопителя, то лучшие вариант коррекции проблем со служебными данными – это выполнение процедуры форматирования фирменной утилитой с сайта производителя накопителя. Многие утилиты фактически переписывают всю служебную информацию, создают чистый транслятор, и выполняют процедуру форматирования с созданием новой файловой системы. Если же производитель не удосужился выложить Recovery-утилиту, тогда выход в виде поиска утилит форматирования накопителей на NAND Flash «по контроллеру», единственно, что покажется сложным пользователю – это обилие производителей контроллеров и сложности с идентификацией последнего.

Павел Янчарский

Перепечатка материалов разрешена только с указанием активной ссылки на оригинал статьи

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 по умолчанию.

Выбор SSD сейчас стоит на ключевом месте при сборке игрового ПК. Если раньше о твердотельном накопителе хотели, но боялись говорить из-за его стоимости, то сейчас некоторые смело переносят всю систему на этот тип диска. Поэтому, если вы решили улучшить свою систему, то вам придется узнать, что лучше: TLC или MLC? Либо есть еще какой-то вариант?

Преимущества

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

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

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

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

Нельзя не упомянуть о низком энергопотреблении и небольшой чувствительности к внешним электромагнитным полям. Ну и, наконец, размеры SSD. Благодаря тому, что перед нами 2,5-дюймовый диск либо вовсе формата M.2, можно его поместить даже в нетбук.

Конструкция

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

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

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

Выбор

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

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

Типы

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

Она представлена специальными ячейками, которые размещают на плате в особом порядке. Все они реализованы на основе полупроводников. Отсюда и несколько типов SSD: TLC и MLC. Что лучше, каждый решает для себя самостоятельно либо же покупает устройства наобум.

Хранение памяти

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

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

Считается, что память TLC относится к MLC. Разница лишь в том, что для первого варианта можно хранить 2 бита, а для второго - 3 бита. Теперь осталось понять, что же это значит, и какой тип «ССД» лучше: TLC и MLC.

Преимущества

Поскольку TLC - это подвид MLC, то справедливо сказать, что второй тип преимущественный. В чем заключается его превосходство? Во-первых, у него более высокая скорость работы. Как показывает практика, он может прослужить несколько дольше. А также все его ресурсы не требуют больших затрат энергопотребления.

Но помимо этого, есть и некоторые недостатки. Главным из них, конечно же, стала стоимость устройства с MLC.

Разная ситуация

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

  • Одинаковая скорость у обоих типов при подключении к SATA III. Некоторые модели могут выделиться особой скоростью на основе TLC, из-за того, что используют интерфейс PCI-E NVMe. Хотя, как показывает практика, чем дороже накопитель, тем он быстрее. И с большой вероятностью он будет основан на MLC.
  • Есть модели, при которых устройство с TLC имеет больший гарантийный срок, чем его старший «собрат».
  • Вопрос с энергопотреблением может отличаться от стандартного положения вещей. Разбираясь с тем, что лучше: TLC или MLC, присмотритесь к интерфейсам, с которыми они работают. К примеру, TLC на SATA III - намного экономней, нежели MLC с PCI-E.

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

Другие отличия

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

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

Как итог, сказать, какой SSD лучше: TLC или MLC - невозможно. Однозначно вы можете приобрести устаревшую модель MLC, которая заметно будет отличаться характеристиками от TLC в худшую сторону. При этом стоимость обоих устройств будет одинаковой.

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

Идентификация

Если вы решили узнать, что лучше: SSD TLC vs MLC, уже когда приобрели твердотельный накопитель, то захотите идентифицировать тип памяти в своем устройстве. Так уже сложилось, что на самих дисках этой информации нет. Кроме того, даже установив какую-нибудь утилиту для теста, вы все равно не получите ответа. Что же в этом случае делать?

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

Проблемы

Но не все так гладко. Возможно, кто-то из пользователей сталкивался с SSD от компании Silicon Power Slim. Это довольно популярная модель, которая на рынке уже более 3 лет. В момент своего появления она выделилась низкой стоимостью.

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

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

В итоге некоторые модели поменяли тип памяти и даже объем. В упаковке с SSD на 120 Гб мог находиться диск на 60 Гб. А указание микросхемы MLC совсем не означало то, что пользователь получит диск именно на основе этого типа. В результате: огромное количество недовольных владельцев, которые получили медленную память.

Производители

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

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

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

  • Intel.
  • Micron.
  • Samsung.
  • Toshiba.
  • SanDisk.
  • Hynix.

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

Другие варианты

Если вам уже стало понятно, что лучше: TLC или MLC, остается разобраться с еще одним типом памяти. Иногда в обзорах твердотельных накопителей можно встретить непонятные обозначения: V-NAND, 3D-NAND и т.п. Это еще один эксперимент, который предлагает производитель. Изготовлен такой диск по иным технологиям.

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

Если говорить о производительности, то можно сказать, что 3D-NAND немного лучше. Во-первых, это связано с низкой стоимостью и большими возможностями. Во-вторых, многослойное размещение более надежное и эффективное. Это можно доказать тестированием двух моделей: «плоской» и «объемной» MLC.

Выводы

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

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



Рекомендуем почитать

Наверх