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

В основу зарождения NAND-памяти легла появившаяся намного раньше флеш-память, используемая в твердотельных накопителях с явно меньшей скоростью работы, долговечностью и большей площадью чипа, чем у NAND-памяти. Флеш-память изобрел Fujio Masuoka в 1984 году, работая в компании Toshiba. После представления разработки Fujio Masuoka на IEEE 1984 (International Electron Devices Meeting) в Сан-Франциско (Калифорния) компания Intel в 1988 году выпустила первый коммерческий флеш-чип типа NOR. Появление NAND-типа флеш-памяти было анонсировано Toshiba в 1989 году на Международной конференции, посвященной твердотельным дискам (International Solid-State Circuits Conference).

Flash-память, типы NAND-памяти

Принципиальным отличием флеш-памяти является хранение ею одного бита информации в массиве транзисторов с плавающим затвором, называемых ячейками. Существует два типа NAND-памяти, используемой в SSD дисках – SLC и MLC. Чем же отличаются SLC и MLC типы памяти? SLC-устройства имеют одноуровневые ячейки, которые хранят в каждом транзисторе только один бит, а многоуровневые MLC могут хранить в каждой ячейке несколько бит информации. Это следствие использования разных уровней электрического заряда на плавающем затворе транзистора. Принцип кодирования (логического 0 или 1) информации во всех случаях одинаков, он будет описан нами ниже. Различается лишь строение ячейки. Глубина уровней MLC может доходить до 4-х, то есть хранить до 4-х бит информации, в то время как SLC является более простой единицей и хранит 1 бит.

Технология MLC позволяет за счет наращивания уровней существенно увеличить объем диска, оставив его физические размеры неизменными, что уменьшает себестоимость каждого гигабайта. На этом положительные качества данной технологии заканчиваются. С каждым дополнительным уровнем усложняется задача распознавания уровня сигнала, не говоря уже об уменьшении ресурса работы SSD-диска, увеличивается время поиска адреса ячейки, повышается вероятность ошибок. Контроль за ошибками осуществляется аппаратно, что в случае технологии MLC ведет к удорожанию управляющей электроники и соответственно увеличивает конечную стоимость SSD. Диски SSD, массово продающиеся на мировом рынке, используют MLC-технологию с четырехуровневой записью. При этом данные кодируются как (11), (10), (01), (00). Для SLC одноуровневая ячейка может принимать лишь значения 0 или 1.

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

Механизмы записи и чтения элементарной ячейки NAND-память

Постараемся более подробно описать работу транзистора для NAND-памяти, которым является полевой транзистор с изолированным затвором или MOSFET.

Главной особенность полевого транзистора, которая позволила его использование для хранения информации, стала возможность удерживать электрический заряд на «плавающем» затворе до 10 лет. Сам «плавающий» затвор выполнен из поликристаллического кремния и полностью окружен слоем диэлектрика, что обеспечивает ему полное отсутствие электрического контакта с элементами транзистора. Он расположен между управляющим затвором и подложкой из p-n переходов. Управляющий электрод полевого транзистора называется затвором. В данном случае проводимость p-n перехода, обусловленная электрическим сопротивлением, управляется разностью потенциалов, которая создает электрическое поле, воздействующее на состояние p-n переходов.

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

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

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

Срок жизни NAND-памяти

Главной особенностью NAND-памяти, позволяющей ее использование в SSD-дисках, стало ее умение хранить данные без внешнего источника энергии. Однако такая технология накладывает ограничения на число изменений логического состояния ячейки, что приводит к конечному числу циклов перезаписи этой ячейки. Это связанно с постепенным разрушением диэлектрического слоя. Данный эффект наступает намного быстрее у ячеек MLC ввиду их малого резерва изменения заряда плавающего затвора из-за конструктивных особенностей. Чтение ячейки тоже влияет на срок ее жизни, но это воздействие намного менее значительно, чем при записи/стирании, что позволяет считать циклы чтения не ограниченными, а срок жизни SSD-диска измеряется количеством возможных циклов перезаписи.

На всех SSD-дисках присутствует недоступная для стандартных операций записи/чтения часть. Она необходима как резерв в случае износа ячеек, по аналогии с магнитными накопителями HDD, который имеет резерв для замены bad-блоков. Дополнительный резерв ячеек используется динамически, и по мере физического изнашивания основных ячеек предоставляется резервная ячейка на замену.

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

Таблица явно говорит обо всех преимуществах и недостатках этих технологий. В ней видно превосходство SLC решений над MLC, но не указан главный критерий популярности SSD-дисков – их цена. Указывать ее и нет смысла ввиду быстрого удешевления таких решений. Скажем лишь, что MLC диски хоть и уступают во всем SLC, но они более чем в два раза выигрывают в цене и могут быть компактнее при тех же объемах хранимых данных.

Структура SSD-диска: размер ячейки, страницы, блока NAND-памяти

Для более эффективного использования элементарных ячеек памяти они были объединены в массивы с несколько уровневой структурой. Одна ячейка хранящая один (для SLC) или, как правило, два (для нынешнего поколения MLC) бита данных, объединена в группу названную страницей и вмещающую 4 КБ данных.

Специальные алгоритмы для работы с SSD-дисками

Ввиду ограниченности циклов записи/стирания ячеек флеш-памяти разработчикам пришлось составить правильный алгоритм работы SSD-диска, позволяющий равномерно «изнашивать» всё его запоминающее пространство. Как уже было нами отмечено, весь объем диска делится на блоки размером 512 КБ, а они в свою очередь на страницы емкостью 4 КБ, на которые осуществляются операции чтения и записи. Но как только вы записали информацию на страницу, она не может быть перезаписана до тех пор, пока не будет очищена. Проблема заключается в том, что минимальный размер записываемой информации не может быть меньше 4 КБ, а стереть данные можно минимум блоками по 512 КБ. Для этого контроллер группирует и переносит данные (этот алгоритм мы опишем ниже) для освобождения целого блока. Эта операция приводит к увеличению времени отклика и сокращению ресурс SSD, но чем-то приходится жертвовать.

Поговорим об алгоритме записи/удаления.

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

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

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

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

Зачем нужен Тримминг?

Это еще одна немаловажная технология, обеспечивающая более равномерный износ SSD-диска и более быструю работу с данными за счет команды TRIM. Она позволяет выстроить цепочку и определить приоритет освобождаемых блоков. Раньше данная операция была возложена на ОС, но современные SSD-контроллеры уже поддерживают данную функцию аппаратно в прошивках накопителей. Время выполнение операции по «зачистке» блоков связано по экспоненте со свободным объемом на диске. Чем меньше информации и больше свободного места, тем быстрее происходит «тримминг» на SSD. По мере заполнения диска до 75% функция очистки все еще не сильно выражена относительно простоя. Но, как только остаётся менее 15% свободного места, «триммирование» становится затруднительным. Естественно, часть зависимости полностью обуславливается типом информации (статичная, т.е. редко перемещаемая и в основном только читаемая, или динамическая). Согласно исследованию IBM идеальные условия работы SSD, когда он заполнен менее, чем на 75% и соотношения статической и динамической части информации 3 к 1.

TRIM является неотъемлемой частью современных твердотельных накопителей. Он обеспечивает прирост производительности при заполнении данными дисков более чем на 2/3, за счет правильной сортировки блоков и подготовке их к записи. Это позволяет сократить разницу в скорости работы нового и уже заполнено на 75% диска до 2-3%.

Не стоит забывать, что по умолчанию операционная система настроена на работу с обычным HDD диском, а значит пользователю обязательно необходимо, отключить «старые» механизмы увеличения скорости работы магнитного диска, а так же алгоритмы дефрагментации. Кроме того, важно побеспокоиться о неполном использовании всего пространства своего SSD-диска.

Для чего используется кэш-буфер на SSD-дисках?

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

Контроллер SSD-диска

Очень важным и постоянно усовершенствуемым элементом SSD-накопителя является его контроллер. Главной задачей контроллера является обеспечение операций чтения и записи, но в виду массы физических особенностей SSD-накопителя, контроллер также отвечает за управление структурой размещения данных. Основываясь на матрице размещения блоков, в какие ячейки уже проводилась запись, а в какие еще нет, контроллер оптимизирует скорость записи и обеспечивает максимально длительный срок службы вашего SSD-диска. Вследствие особенностей построения NAND-памяти, работать с ее каждой ячейкой отдельно нельзя. Как мы уже говорили выше, они объединены в страницы объемом по 4 Кбайта, и записать информацию можно только полностью заняв страницу. Стирать данные можно по блокам, которые равны 512 Кбайт. Все эти ограничения накладывают определенные обязанности на правильный интеллектуальный алгоритм работы контроллера. Поэтому правильно настроенный и оптимизированный контролер может существенно изменить как скоростные показатели, так и долговечность работы SSD-диска.

Итоги

На данный момент пока еще рано говорить о полной победе SSD-накопителей над магнитными дисками. Если учитывать объем и скорость работы SSD-накопителя, сравнивая их с аналогичными параметрами для традиционных HDD, то главным сдерживающим фактором перехода на твердотельные диски все еще останется их цена. Анализ нескольких последних лет показал нежелание производителей снижать цену на NAND-память. Только последние полгода можно наблюдать небольшую тенденцию по снижению цены на SSD, и то это, скорее всего, обусловлено спадом потребительского спроса, что вызвано мировым кризисом. Твердотельные накопители уже несколько лет представлены в широком ассортименте на мировом рынке, но даже такой значительный для цифровых технологий срок не смог повлиять на их конкурентоспособность по критерию «цена за ГБ хранимой информации» по отношению к магнитным дискам. Плотность записи на один магнитный диск постоянно увеличивается, что способствует выпуску все более емких моделей (на данный момент широко доступны HDD емкостью 2 ТБ). Такое распределение рынка может заставить покупателя отдать предпочтение SSD накопителю только в случае острой необходимости в скорости чтения или стойкости к вибрации/удару, но основной объем информации все равно будет храниться на классических жестких дисках.

Достоинства и недостатки SSD по сравнению с магнитными дисками HDD:

Достоинства:

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

Недостатки:

  • высокая стоимость за каждый ГБ сохраняемой информации;
  • ограниченное количество циклов записи и удаления данных.

Статья прочитана 11417 раз(а)

Подписаться на наши каналы

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

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

NOR

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

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

NAND

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

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

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

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

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

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

Если еще ко времени выполнения перечисленных операций прибавить задержки на выборку блока и на доступ, то получим отнюдь неконкурентоспособные с NOR показатели (отмечу, что именно для случая побайтовой записи). Другое дело последовательная запись/чтение - здесь NAND наоборот показывает значительно более высокие скоростные характеристики. Поэтому, а также из-за возможностей увеличения объема памяти без увеличения размеров микросхемы, NAND-флэш нашел применение в качестве хранителя больших объемов информации и для ее переноса. Наиболее распространенные сейчас устройства, основанные на этом типе памяти, это флэшдрайвы и карты памяти. Что касается NOR-флэша, то чипы с такой организацией используются в качестве хранителей программного кода (BIOS, RAM карманных компьютеров, мобилок и т. п.), иногда реализовываются в виде интегрированных решений (ОЗУ, ПЗУ и процессор на одной мини-плате, а то и в одном чипе). Удачный пример такого использования - проект Gumstix: одноплатный компьютер размером с пластинку жвачки. Именно NOR-чипы обеспечивают требуемый для таких случаев уровень надежности хранения информации и более гибкие возможности по работе с ней. Объем NOR-флэш обычно измеряется единицами мегабайт и редко переваливает за десятки.

И будет флэш…

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

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

Пока что, так называемые on-chip (single-chip) системы представляют собой комбинации в одном чипе флэш-памяти с контроллером, процессором, SDRAM или же со специальным ПО. Так, например, Intel StrataFlash в сочетании с ПО Persistent Storage Manager (PSM) дает возможность использовать объем памяти одновременно как для хранения данных, так и для выполнения программного кода. PSM по сути дела является файловой системой, поддерживающейся ОС Windows CE 2.1 и выше. Все это направлено на снижение количества компонентов и уменьшение габаритов мобильных устройств с увеличением их функциональности и производительности. Не менее интересна и актуальна разработка компании Renesas - флэш-память типа superAND с встроенными функциями управления. До этого момента они реализовывались отдельно в контроллере, а теперь интегрированы прямо в чип. Это функции контроля бэд-секторов, коррекции ошибок (ECC - error check and correct), равномерности износа ячеек (wear leveling). Поскольку в тех или иных вариациях они присутствуют в большинстве других брендовых прошивок внешних контроллеров, давайте вкратце их рассмотрим. Начнем с бэд-секторов. Да, во флэш-памяти они тоже встречаются: уже с конвейера сходят чипы, имеющие в среднем до 2% нерабочих ячеек - это обычная технологическая норма. Но со временем их количество может увеличиваться (окружающую среду в этом винить особо не стоит - электромагнитное, физическое (тряска и т. п.) влияние флэш-чипу не страшно). Поэтому, как и в жестких дисках, во флэш-памяти предусмотрен резервный объем. Если появляется плохой сектор, функция контроля подменяет его адрес в таблице размещения файлов адресом сектора из резервной области.


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

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

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

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

Выбирая твердотельный накопитель SSD для домашнего использования, вы можете столкнуться с такой характеристикой как используемый тип памяти и задаться вопросом о том, что лучше - MLC или TLC (также вам могут встретиться и другие варианты обозначения типа памяти, например, V-NAND или 3D NAND). Также совсем недавно появились привлекательные по цене накопители с QLC памятью.

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

В общем случае, память MLC имеет преимущества над TLC, основные из которых:

  • Более высокую скорость работы.
  • Более продолжительный срок службы.
  • Меньшее энергопотребление.

Недостаток - более высокая цена MLC по сравнению с TLC.


Однако следует иметь в виду, что речь идёт именно об «общем случае», в реальных устройствах, представленных в продаже вы можете увидеть:

  • Равную скорость работы (при прочих равных параметрах) для SSD с памятью TLC и MLC, подключаемых по интерфейсу SATA-3. Более того, отдельные накопители на базе памяти TLC с интерфейсом PCI-E NVMe иногда могут быть быстрее сходных по цене накопителей с памятью PCI-E MLC (однако, если говорить о «топовых», самых дорогих и быстрых SSD, в них всё-таки обычно используется память MLC, но тоже не всегда).
  • Большие гарантийные сроки службы (TBW) для памяти TLC одного производителя (или одной линейки накопителей) по сравнению с памятью MLC другого производителя (или другой линейки SSD).
  • Аналогично с энергопотреблением - например, накопитель SATA-3 с памятью TLC может потреблять в десять раз меньше энергии, чем накопитель PCI-E с памятью MLC. Более того, для одного типа памяти и одного интерфейса подключения разница в электропотреблении также очень сильно отличается в зависимости от конкретного накопителя.

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

В итоге, строгий и точный вердикт о том, что MLC лучше TLC вынести нельзя - например, приобретя более емкий и новый SSD с TLC и лучшим набором характеристик, вы можете выиграть по всем параметрам по сравнению с приобретением накопителя с MLC по аналогичной цене, т.е. следует учитывать все параметры, а начинать анализ с доступного бюджета на покупку (например, если говорить при бюджете до 10000 рублей, обычно накопители с TLC памятью будут предпочтительнее MLC как для SATA, так и для PCI-E устройств).

Накопители SSD с памятью QLC

С конца прошлого года в продаже появились твердотельные накопители с памятью QLC (quad-level cell, т.е. 4 бита в одной ячейке памяти), и, вероятно, в 2019 году таких дисков будет всё больше, а их стоимость обещает быть привлекательной.

Конечные продукты характеризуются следующими плюсами и минусами по сравнению с MLC/TLC:

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

Говорить о конкретных цифрах пока сложно, но, некоторые примеры из уже доступных в продаже можно изучить: например, если взять примерно аналогичные накопители M.2 SSD объемом 512 Гб от Intel на базе памяти QLC 3D NAND и TLC 3D NAND, изучить заявленные производителем характеристики, увидим:

  • 6-7 тыс. рублей против 10-11 тыс. рублей. А за стоимость 512 Гб TLC вы можете приобрести 1024 Гб QLC.
  • Заявленный объем записываемых данных (TBW) - 100 Тб против 288 Тб.
  • Скорость записи/чтения - 1000/1500 против 1625/3230 Мб/c.

С одной стороны, минусы могут перевесить плюсы от стоимости. С другой, можно учесть такие моменты: для SATA дисков (если у вас доступен лишь такой интерфейс) разницы в скорости вы не заметите и по сравнению с HDD прирост скорости будет очень значительным, а параметр TBW для QLC SSD на 1024 Гб (который в моем примере стоит столько же как TLC SSD на 512 Гб) уже 200 Тб (более объемные твердотельные накопители «живут» дольше, что связано с тем, как ведется запись на них).

Память V-NAND, 3D NAND, 3D TLC и т.п.

В описаниях SSD накопителей (особенно если речь о Samsung и Intel) в магазинах и обзорах вы можете встретить обозначения V-NAND, 3D-NAND и аналогичные для типов памяти.


Такое обозначение говорит о том, что ячейки флеш-памяти размещены на чипах в несколько слоев (в простых чипах ячейки размещены в одном слое, подробнее - на Википедии), при этом это та же память TLC или MLC, только не везде это обозначается явно: например, для SSD от Samsung вы увидите только то, что используется V-NAND память, однако информация о том, что в линейке EVO применена V-NAND TLC, а в линейке PRO - V-NAND MLC не всегда указывается. Также уже сейчас появились накопители QLC 3D NAND.

Лучше ли 3D NAND чем «плоская» (planar) память? Она дешевле в производстве и тесты говорят о том, что на сегодняшний день для памяти TLC вариант с многослойным размещением обычно более эффективен и надежен (более того, Samsung заявляет о том, что в устройствах их производства память V-NAND TLC обладает лучшими характеристиками производительности и срока службы, чем planar MLC). Однако, для памяти MLC, в том числе в рамках устройств одного производителя это может быть не так. Т.е. опять же, всё зависит от конкретного устройства, вашего бюджета и других параметров, которые следует изучить перед покупкой SSD.

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

Отсюда и отсутствие четкого ответа, а какой тип памяти лучше. Конечно, ёмкий SSD с MLC 3D NAND по набору характеристик будет выигрывать, но лишь до тех пор, пока эти характеристики рассматриваются в отрыве от цены накопителя. Если же учитывать и этот параметр, то не исключаю, что для некоторых пользователей будут предпочтительнее QLC диски, ну а «золотая середина» - память TLC. И, какой бы SSD вы не выбрали, рекомендую серьезно относиться к резервному копированию важных данных.

Комментарии (96) к MLC, TLC или QLC - что лучше для SSD? (а также о V-NAND, 3D NAND и SLC)

    Александр

    24.09.2017 в 11:26

    • 25.09.2017 в 08:20

    01.10.2017 в 14:33

    • 02.10.2017 в 09:18

      • 11.06.2019 в 17:49

        • 12.06.2019 в 08:08

    • Владимир

      27.10.2017 в 00:39

      26.12.2018 в 00:51

    03.10.2017 в 16:17

    • Владимир

      27.10.2017 в 01:05

      • 01.11.2017 в 16:06

        03.12.2017 в 17:47

        • Игорь (другой Игорь)

          10.12.2017 в 14:33

          • Александр

            02.01.2018 в 21:33

        • 23.05.2018 в 23:04

          27.06.2018 в 18:56

          • Александр

            21.05.2019 в 15:32

            22.05.2019 в 11:23

      • 04.04.2018 в 06:29

        23.05.2018 в 22:59

        • 07.07.2018 в 22:50

          • 15.09.2018 в 23:45

            Александр

            14.01.2019 в 09:59

        • 26.02.2019 в 11:18

    01.11.2017 в 00:29

    • 01.11.2017 в 11:48

    06.01.2018 в 20:00

    19.01.2018 в 12:57

    • 20.01.2018 в 09:21

      • 20.01.2018 в 12:50

        • 21.01.2018 в 09:34

          • 21.01.2019 в 20:40

    • 01.02.2018 в 17:31

      • 02.03.2018 в 16:43

        • 03.06.2018 в 22:56

    23.01.2018 в 20:44

    • 11.05.2018 в 19:26

    25.01.2018 в 12:18

    • 26.01.2018 в 10:29

    04.03.2018 в 19:30

    • 05.03.2018 в 09:41

      • 05.03.2018 в 12:54

        • 06.03.2018 в 09:37

          • 12.03.2018 в 11:36

            13.03.2018 в 09:28

            27.09.2018 в 12:15

            27.09.2018 в 12:28

        • 25.11.2018 в 15:33

    • 25.11.2018 в 15:26

    02.05.2018 в 21:39

    • 03.05.2018 в 09:49

      • 24.05.2018 в 08:33

        • 24.05.2018 в 09:03

          24.05.2018 в 22:01

          26.02.2019 в 13:14

    23.05.2018 в 23:11

    • 24.05.2018 в 09:13

      • 24.05.2018 в 22:03

    06.06.2018 в 13:43

    • 07.06.2018 в 11:45

    21.07.2018 в 12:23

    • 22.07.2018 в 08:37

    Анастасия

    06.08.2018 в 23:17

    • 07.08.2018 в 11:31

    19.08.2018 в 21:28

    • 20.08.2018 в 12:16

    26.08.2018 в 23:00

    • 27.08.2018 в 14:51

    31.08.2018 в 15:24

    • 01.09.2018 в 12:28

      • 08.09.2018 в 10:43

        • 09.09.2018 в 11:23

    30.11.2018 в 10:22

    • 24.12.2018 в 13:54

    24.12.2018 в 15:29

    • 25.12.2018 в 13:35

    26.02.2019 в 22:43

    28.02.2019 в 00:05

    • 28.02.2019 в 08:36

      • 01.03.2019 в 09:57

        • 01.03.2019 в 10:06

    05.03.2019 в 02:29

    30.04.2019 в 10:57

    • 30.04.2019 в 11:25

      • 01.05.2019 в 09:42

        • 01.05.2019 в 09:50

          • 01.05.2019 в 12:42

MLC или TLC — что лучше выбрать для своего компьютера? Все пользователи, которые когда-либо использовали твердотельный накопитель (память SSD), отзываются о нем положительно. Благодаря ему, любимые приложения загружаются быстрее, а общая эффективность системы повышается. Кроме того, эти накопители гораздо более износоустойчивые и прочные по сравнению с традиционными жесткими дисками. Но почему некоторые типы памяти дороже, чем другие? Для ответа на этот вопрос нужно понять внутреннее устройство накопителей такого типа.

Плату SSD можно условно разделить на 3 основных блока:

  1. 3D NAND-память (не путать с NOR Flash). Эта часть используется для хранения данных в энергонезависимых блоках, которые не требуют постоянного питания от электросети.
  2. DDR. Небольшое количество энергозависимой памяти, которой нужно питание для сохранения данных. Используется с целью кэширования информации для будущего доступа. Эта опция доступна не на всех накопителях.
  3. Контроллер. Выступает в качестве посредника, соединяя 3D NAND-память и компьютер. Контроллер также содержит встроенное программное обеспечение, которое помогает управлять SSD.

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

Причина, по которой флешка SLC располагает малым объемом памяти, заключается в ее небольшом физическом размере по сравнению с другими элементами Printed Circuit Board (PCB). Не стоит забывать, что PCB включает контроллер, память DDR и 3D NAND-память, которые нужно как-то разместить внутри системного блока персонального компьютера. Память MLC NAND удваивает количество бит на ячейку, а TLC — утраивает. Это положительно сказывается на объеме памяти. Накопители NOR предоставляют доступ к случайной информации, из-за чего их не используют, как жесткий диск.

Есть определенные причины, по которым производители продолжают выпускать флеш-память с 1 битом на ячейку. Накопители SLC считаются самыми быстрыми и надежными, но они относительно дорогие и обладают ограниченным объемом памяти. Вот почему такое устройство наиболее предпочтительно для компьютеров, которые подвергаются сильным нагрузкам.

Что такое SLC

В противостоянии SLC vs MLC или TLC 3D всегда побеждает первый тип памяти, но он и стоит значительно дороже. Он также располагает большим объемом памяти, но работает медленнее и больше склонен к поломкам. MLC и TLC — это типы памяти, которые рекомендуется применять для обычного повседневного использования компьютера. NOR обычно используется в мобильных телефонах и планшетах. Осознание своих собственных потребностей поможет пользователю выбрать наиболее подходящий из всех SSD-дисков.

Single Level Cell получила свое название благодаря единственному биту, который включается или выключается в зависимости от питания электроэнергией. Преимущество SLC в том, что она наиболее точная при чтении и записи данных, а ее цикл непрерывной работы может быть более продолжительным. Количество допустимых перезаписей составляет 90000-100000.

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

Достоинства SLC:

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

Недостатки SLC:

  • высокая цена по сравнению с другими SSD;
  • сравнительно небольшой объем памяти.

Тип памяти eMLC

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

Достоинства eMLC:

  • намного дешевле, чем SLC;
  • более высокая производительность и выносливость по сравнению с обычной MLC NAND.

Недостатки eMLC:

  • проигрывает SLC в плане производительности;
  • не подходит для домашнего использования.

Флеш-память MLC для твердотельного накопителя

Память Multi Level Cell получила свое название благодаря способности хранить 2 бита данных в одной ячейке. Большим преимуществом является более низкая цена по сравнению с SLC. Меньшая стоимость, как правило, становится залогом популярности продукта. Проблема в том, что количество возможных перезаписей одной ячейки значительно меньше по сравнению с SLC.

Достоинства MLC NAND:

сравнительно низкая цена, рассчитанная на массового потребителя;
большая надежность по сравнению с TLC.

Недостатки MLC NAND:

  • менее надежная и долговечная, чем SLC или eMLC;
  • не подходит для коммерческого использования.

TLC память

Triple Level Cell — это самая дешевая разновидность флеш-памяти. Ее самый большой недостаток заключается в том, что она подходит только для домашнего использования и противопоказана к применению в предпринимательской или промышленной деятельности. Жизненный цикл ячейки составляет 3000-5000 перезаписей.

Достоинства TLC 3D:

  • наиболее дешевая SSD из всех доступных на рынке;
  • способна удовлетворить потребности большинства пользователей.

Недостатки TLC 3D:

  • наименьшая продолжительность жизни по сравнению с другими типами;
  • не годится для коммерческого использования.

Долговечность SSD

Как и все хорошие вещи в этом мире, SSD не может существовать вечно. Как было отмечено выше, жизненный цикл твердотельного накопителя напрямую зависит от того, какую он использует 3D NAND-память. Многих пользователей волнует вопрос, как долго могут функционировать более дешевые виды накопителей. По сравнению с MLC и TLC, память SLC более долговечная, но стоит дороже. Независимые команды энтузиастов провели испытания доступных SSD потребительского класса, большинство из которых составили MLC, а 3D NAND TLC использовался только 1. Результаты оказались многообещающими. Перед выходом из строя, большинство этих устройств успели пропустить через себя 700 Тбайт информации, а 2 из них — даже 1 Пбайт. Это поистине огромное количество данных.

Можно смело отметать любые опасения по поводу того, что SSD выйдет из строя в короткие сроки. Если вы используете MLC или TLC 3D V-NAND для такого повседневного использования, как хранение музыки, фотографий, программного обеспечения, личных документов и видеоигр, то можете быть уверены, что памяти хватит на несколько лет. В домашних условиях невозможно нагрузить компьютер так, как это делают с корпоративными серверами. Тем, кто беспокоится о продолжительности жизни своей памяти, могут пригодиться функции вроде Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.), которые помогают отслеживать состояние SSD.

Выбор подходящего SSD


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

Серверы на больших предприятиях — это хороший пример использования дорогих флеш-накопителей, ведь они работают по 24 часа в сутки 5-7 дней в неделю. Вот почему они нуждаются в продолжительном , быстром чтении/записи и повышенной надежности. Потребительские накопители являются урезанными версиями коммерческих. Они лишены определенных функций, но предлагают больший объем памяти. Кроме того, в мире наблюдается приятная тенденция к увеличению производительности бюджетных НАНД и снижению их стоимости.

Какой тип накопителя выбрать для себя? SLC или MLC и TLC? Можно сделать вывод, что память SLC или eMLC для обычного повседневного использования просто не нужна, так что нет никакого смысла тратить на нее круглую сумму денег. Если же выбирать тип памяти NAND из TLC или MLC, то здесь все будет зависеть от ваших финансовых возможностей.

TLC NAND — это самая бюджетная память, которая способна удовлетворить нужды большинства потребителей. MLC-память можно рассматривать, как более продвинутый вариант NAND-памяти для людей, готовых вкладывать в свой персональный компьютер большие средства. Он подойдет и для тех, кто планирует хранить свои данные в течение многих лет. Если на мониторе появилась надпись «NAND Flash was not detected», значит память, скорее всего, исчерпала свой ресурс и вышла из строя.