NAND флэш-память: особенности строения и функционирования. С какой памятью лучше SSD — MLC или TLC

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

Начнем с того, что рассмотрим два типа NAND-памяти – а именно SLC-(single-level cell ) и MLC-(multi-level cell ) устройства. В SLC приборах одна ячейка памяти хранит один бит информации – именно такие устройства мы обсуждали в предыдущей статье. Возможно только два состояния ячейки памяти (полевого транзистора с плавающим затвором). Первое состояние соответствует заряженному затвору, а второе, соответственно, разряженному. Тут все просто – подаем пороговое напряжение и по наличию или отсутствию тока стока можем определить, какой бит записан в данную ячейку памяти.

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

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

MLC-память имеет меньшее количество максимально возможных циклов перезаписи по сравнению с SLC. Кроме того, SLC быстрее – то есть операции чтения/записи/стирания выполняются за меньшее количество времени. А поскольку для определения состояния ячейки памяти используется только одно пороговое значение напряжения, при использовании SLC-памяти меньше вероятность возникновения ошибки. Но это не значит, что MLC хуже. MLC-память, во-первых позволяет сохранять большее количество информации, а во-вторых дешевле. То есть с точки зрения отношения цена/качество MLC, в принципе, выглядит предпочтительнее.

Переходим к структуре NAND-памяти 😉

Как мы помним, в отличие от NOR-памяти, при использовании NAND мы не имеем доступа к произвольной ячейке памяти. Все ячейки объединены в страницы. А страницы объединены в логические блоки. Каждая страница помимо сохраненной пользователем информации содержит некоторые дополнительные данные – информация о “плохих” блоках, дополнительная служебная информация для коррекции ошибок.

Сложность при работе с NAND заключается в том, что невозможно получить доступ к какой-то конкретной ячейке информации. Запись данных можно производить только постранично, то есть если мы хотим изменить какой-то бит, то нам нужно перезаписать все страницу целиком. А стирать данные и вовсе можно только блоками. Вот для примера характеристики микросхемы NAND-памяти NAND128W3A: размер страницы – 512 байт + 16 байт дополнительной служебной информации, размер блока – 16 кБайт, то есть 32 страницы.

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

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

А для этого используется параллельная шина передачи данных, Ширина шины – 8 или 16 байт, в зависимости от конкретного устройства. Линии данных объединены с линиями адреса, что позволяет уменьшить количество занятых выводов. Вот тут хорошо описаны управляющие сигналы и их назначение:

Если мы хотим подключить память к микроконтроллеру, то лучше всего выбрать контроллер, в котором есть аппаратная поддержка передачи данных по параллельному интерфейсу. Например, многие STM32 оснащены модулем FSMC, который позволяет подключить внешнее устройство памяти. Но в это мы сейчас не будем углубляться, лучше оставим эту тему до будущих статей 😉 Возможно, в ближайшее время как раз и попробуем соорудить небольшой пример для STM32, в котором будем записывать и считывать данные из NAND-памяти, так что до скорых встреч!)

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

В масс-маркете накопители SSD появились не так давно, но быстро стали популярны, так как являются современной альтернативой стандартному жёсткому диску (HDD ). Разберёмся, по каким параметрам нужно выбирать твердотельный накопитель, и что он из себя вообще представляет.

Устройство

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

Аббревиатура SSD как раз и означает «solid-state drive », то есть, буквально, «твердотельный накопитель ». Он состоит из контроллера и чипов памяти.

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

Память в накопителях может быть как энергонезависимой (NAND ), так и энергозависимой (RAM ).

NAND-память поначалу выигрывала у HDD только в скорости доступа к произвольным блокам памяти, и только с 2012 года скорость чтения/записи также многократно выросла. Сейчас в масс-маркете накопители SSD представлены моделями именно с энергонезависимой NAND -памятью.

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

Отличия SSD от HDD

SSD отличает от HDD в первую очередь, физическое устройство. Благодаря этому он может похвастаться некоторыми преимуществами, но имеет и ряд серьёзных недостатков.

Основные преимущества:

· Быстродействие. Даже по техническим характеристикам видно, что скорость чтения/записи у SSD выше в несколько раз, но на практике быстродействие может различаться в 50-100 раз.
· Отсутствие движущихся частей, а соответственно, шума. Также это означает высокую стойкость к механическим воздействиям.
· Скорость произвольного доступа к памяти гораздо выше. В результате скорость работы не зависит от расположения файлов и их фрагментации.
· Гораздо меньшая уязвимость к электромагнитным полям.
· Малые габариты и вес, низкое энергопотребление.

Недостатки:

· Ограничение ресурса по циклам перезаписи. Означает, что перезаписать отдельную ячейку можно определённое количество раз – в среднем, этот показатель варьируется от 1 000 до 100 000 раз.
· Стоимость гигабайта объёма пока достаточно высока, и превосходит стоимость обычного HDD в несколько раз. Однако, этот недостаток со временем исчезнет.
· Сложность или даже невозможность восстановления удалённых или утерянных данных, связанная с применяемой накопителем аппаратной командой TRIM , и с высокой чувствительностью к перепадам напряжения питания: при таком повреждении чипов памяти информация с них теряется безвозвратно.

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

Какой объём SSD понадобится?

Первое, на что стоит обратить внимание при выборе SSD – его объём. В продаже есть модели с ёмкостью от 32 до 2000 Гб.

Решение зависит от варианта использования – вы можете установить на накопитель только операционную систему, и ограничиться объёмом SSD в 60-128 Гб , что будет вполне достаточно для Windows и установки основных программ.

Второй вариант – использовать SSD как основную медиа-библиотеку, но тогда вам понадобится диск объёмом в 500-1000 Гб , что выйдет довольно дорого. Это имеет смысл, только если вы работаете с большим количеством файлов, к которым нужно обеспечить действительно быстрый доступ. Применительно к рядовому пользователю – не очень рациональное соотношение цена/скорость.

Но есть и ещё одно свойство твердотельных накопителей – в зависимости от объёма скорость записи может сильно отличаться. Чем больше объём диска, тем, как правило, больше скорость записи. Это связано с тем, что SSD способен параллельно использовать сразу несколько кристаллов памяти, а количество кристаллов растёт вместе с объёмом. То есть в одинаковых моделях SSD с разной ёмкостью в 128 и 480 Гб разница в скорости может различаться примерно в 3 раза.

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

Интерфейс и форм-фактор

2.5" SSD

Самым распространённым форм-фактором SSD является формат 2,5 дюйма. Представляет собой «брусок» размерами примерно 100х70х7мм, у разных производителей они могут слегка различаться (±1мм). Интерфейс у 2.5” накопителей, как правило, SATA3 (6 Гбит/с ).

Преимущества формата 2.5":

  • Распространённость на рынке, доступен любой объём
  • Удобство и простота использования, совместим с любыми материнскими платами
  • Демократичная цена
Недостатки формата:
  • Относительно низкая скорость среди ssd - максимально до 600 Мб/с на один канал, против, например 1 Гб/с у интерфейса PCIe
  • Контроллеры AHCI, которые были разработаны для классических жёстких дисков
Если вам нужен накопитель, который удобно и легко монтировать в корпус ПК, а ваша материнская плата имеет только разъёмы SATA2 или SATA3 , то 2.5” SSD накопитель – это ваш выбор. Система и офисные программы будет загружаться очевидно быстрее по сравнению с HDD, а большой разницы с более скоростными решениями обычный пользователь не заметит.

mSATA SSD

Существует более компактный форм-фактор - mSATA , размерами 30х51х4 мм. Имеет смысл использовать в ноутбуках и любых других компактных устройствах, где установка обычного 2.5” накопителя нецелесообразна. Если у них, конечно, есть разъём mSATA . По скорости - это всё та же спецификация SATA3 (6 Гбит/с ), и не отличается от 2.5".

M.2 SSD

Есть ещё один, самый компактный форм-фактор M.2 , постепенно сменяющий mSATA . Предназначен, главным образом, для ноутбуков. Размеры - 3.5х22х42(60,80) мм. Есть три разных длины планок - 42, 60 и 80 мм, обратите внимание на совместимость при установке в свою систему. Современные материнские платы предлагают, по крайней мере, один слот U.2 под формат M.2.

M.2 может быть как с интерфейсом SATA , так и PCIe . Разница между этими вариантами интерфейса в скорости, и при том довольно большая - SATA накопители могут похвастаться скоростью в среднем 550 Мб/с, тогда как PCIe, в зависимости от поколения, может предложить 500 Мб/с на одну линию для PCI-E 2.0 , и скорость до 985 Мб/с на одну линию PCI-E 3.0 . Таким образом, твердотельный накопитель, установленный в слот PCIe x4 (с четырьмя линиями), может обмениваться данными на скорости до 2 Гб/с в случае PCI Express 2.0 и до почти 4 Гб/с – при использовании PCI Express третьего поколения.

Различия в цене при этом существенны, диск форм-фактора M.2 с интерфейсом PCIe обойдётся в среднем в два раза дороже интерфейса SATA при одинаковом объёме.

Форм-фактор имеет разъём U.2, который может иметь коннекторы, отличающиеся друг от друга ключами – специальными «вырезами» в них. Существуют ключи B и , а также B&M . Отличаются скоростью по шине PCIe : ключ М обеспечит скорость до PCIe х4 , ключ M скорость до PCIe х2 , как и совмещённый ключ B&M .

B -коннектор несовместим с M -разъёмом, M -коннектор соответственно, с B -разъёмом, а B&M коннектор совместим с любым. Будьте внимательны, приобретая формата M.2 , так как материнская плата, ноутбук или планшет должны иметь подходящий разъём.

PCI-E SSD

Наконец, последний существующий форм-фактор – , как плата расширения PCI-E . Монтируется, соответственно в слот PCI-E , обладают самой высокой скоростью, порядка 2000 Мбайт/с на чтение, и 1000 Мбайт/с на запись . Такие скорости встанут вам очень дорого: очевидно, что выбирать такой накопитель стоит для профессиональных задач.

NVM Express

Существуют также SSD , имеющие новый логический интерфейс NVM Express , разработанный специально для твердотельных накопителей. От старого AHCI он отличается ещё более низкими задержками доступа и высокой параллельностью работы чипов памяти за счёт нового набора аппаратных алгоритмов.
На рынке есть модели как c разъёмом M.2 , так и в PCIe . Минус PCIe тут только в том, что он займёт важный слот, который может пригодиться и под другую плату.

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

Какой тип памяти в SSD лучше?

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

MLC (Multi-Level Cell) - наиболее популярный тип памяти. Ячейки содержат 2 бита, в отличии от 1-го бита в старом типе SLC , который уже почти не продаётся. Благодаря этому – больший объём, а значит, меньшая стоимость. Ресурс записи от 2000 до 5000 циклов перезаписи. При этом «перезапись» означает перезапись каждой ячейки диска. Следовательно, для модели в 240 Гб, например, можно записать как минимум 480 Тб информации. Так что, ресурса такого SSD даже при постоянном интенсивном использовании должно хватить лет эдак на 5-10 (за которые он уже всё равно сильно устареет). А при домашнем использовании его хватит и вовсе на 20 лет, так что ограниченность циклов перезаписи можно вообще не брать во внимание. MLC – это лучшее сочетание надёжность/цена.

TLC (Triple-Level Cell) - из названия следует, что здесь в одной ячейки хранится сразу 3 бита данных. Плотность записи здесь в сравнении с MLC выше на целых 50% , а значит, ресурс перезаписи меньше – всего от 1000 циклов. Скорость доступа тоже ниже из-за большей плотности. Стоимость сейчас не сильно отличается от MLC . Давно и широко используется во флэшках. Срок службы также достаточный для домашнего решения, но подверженность неисправимым ошибкам и «отмиранию» ячеек памяти заметно выше, причём во время всего срока службы.

3D NAND – это скорее форма организации памяти, а не её новый тип. Существует как MLC , так и TLC 3D NAND . Такая память имеет вертикально размещённые ячейки памяти, и отдельный кристалл памяти в ней имеет несколько уровней ячеек. Получается, что у ячейки появляется третья пространственная координата, отсюда и приставка "3D" в названии памяти - 3D NAND . Отличается очень низким количеством ошибок и высокой выносливостью из-за более крупного техпроцесса в 30-40нМ.
Гарантия производителя на отдельные модели достигает 10 лет использования, но стоимость высока. Самый надёжный тип памяти из существующих.

Отличия дешёвых SSD от дорогих

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

· Более дешёвый тип памяти. По возрастанию стоимости/надёжности, условно: TLC MLC 3D NAND .
· Более дешёвый контроллер. Также влияет на скорость чтения/записи.
· Буфер обмена. Самый дешёвые SSD могут вовсе не иметь буфера обмена, это не сильно удешевляет их, но заметно снижает быстродействие.
· Системы защиты. Например, в дорогих моделях есть защита от прерывания питания в виде резервных конденсаторов, позволяющих корректно завершить операцию записи, и не потерять данные.
· Брэнд. Само собой, более раскрученный брэнд будет дороже, что не всегда означает техническое превосходство.

Вывод. Что выгоднее купить?

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

Итак, если вы ограничены в средствах, то ваш выбор – это ёмкостью в 60-128 Гб для установки системы и часто используемых приложений. Тип памяти не столь критичен для домашнего использования – TLC это будет или MLC , диск устареет раньше, чем выработается ресурс. При прочих равных, конечно, стоит выбрать MLC .

Если вы готовы заглянуть в средний ценовой сегмент и цените надёжность, то лучше рассмотреть SSD MLC на 200-500 Гб . За старшие модели придётся выложить около 12 тысяч рублей. При этом, объёма вам хватит практически для всего, что должно работать быстро на домашнем пк. Также можно взять модели ещё более повышенной надёжности с кристаллами памяти 3D NAND .

Если ваша боязнь износа флэш-памяти достигает панического уровня, то стоит смотреть на новые (и дорогие) технологии в виде формата накопителей 3D NAND . А если без шуток, то это будущее SSD – высокая скорость и высокая надёжность здесь объединены. Подобный накопитель подойдёт даже для важных баз данных серверов, поскольку ресурс записи здесь достигает петабайт , а количество ошибок минимально.

В отдельную группу хочется выделить накопители с интерфейсом PCI-E . Он обладают высокой скоростью чтения и записи (1000-2000 Мб/с ), и в среднем дороже прочих категорий. Если во главу угла ставить именно быстродействие, то это лучший выбор. Недостаток - занимает универсальный слот PCIe, у материнских плат компактных форматов слот PCIe может быть всего один.

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

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 (solid-state drive), то есть такие, в основе которых лежат не магнитные пластины, а флеш-память, стали одной из самых впечатляющих компьютерных технологий последнего десятилетия. По сравнению с классическими жёсткими дисками они предлагают заметно более высокие скорости передачи данных и на порядки более низкое время отклика, и поэтому их применение поднимает отзывчивость дисковой подсистемы на совершенно новый уровень. В результате, компьютер, в котором используется твердотельный накопитель, предлагает пользователю по-настоящему стремительную реакцию на обычные действия вроде загрузки операционной системы, запуска приложений и игр или открытия файлов. И это значит, что нет никаких причин для того, чтобы игнорировать прогресс и не использовать SSD при сборке новых или при модернизации старых персональных компьютеров.

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

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

Форм-факторы и интерфейсы

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

Наиболее распространены SSD, обладающие интерфейсом SATA . Это ровно тот же интерфейс, что применяется в классических механических жёстких дисках. Поэтому большинство SATA SSD и выглядят похожим на мобильные HDD образом: они упаковываются в 2,5-дюймовые корпуса с высотой 7 или 9 мм. Такой SSD можно установить в ноутбук на место старого 2,5-дюймового жёсткого диска, а можно без каких-либо проблем использовать его и в настольном компьютере вместо (или рядом с) 3,5-дюймовым HDD.

Твердотельные накопители, использующие интерфейс SATA, стали своего рода правопреемниками HDD, и это обуславливает их повсеместное распространение и широчайшую совместимость с существующими платформами. Однако современная версия SATA-интерфейса рассчитана на максимальную скорость передачи данных лишь на уровне 6 Гбит/с, которая кажется запредельной для механических жёстких дисков, но не для SSD. Поэтому производительность наиболее мощных моделей SATA SSD определяется не столько их возможностями, сколько пропускной способностью интерфейса. Это не особенно мешает массовым твердотельным накопителям раскрывать свою высокую скорость, но наиболее производительные модели SSD для энтузиастов интерфейс SATA стараются обходить стороной. Тем не менее, именно SATA SSD является самым подходящим вариантом для современной общеупотребительной системы.

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



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



Стоит отметить, что в последнее время становятся популярны накопители c интерфейсом PCI Express, работающие по протоколу NVMe . Это – новый программный протокол работы с устройствами хранения данных, который дополнительно увеличивает быстродействие системы при взаимодействии со скоростной дисковой подсистемой. За счёт сделанных в нём оптимизаций этот протокол действительно обладает лучшей эффективностью, но сегодня к NVMe-решениям нужно относиться с осторожностью: они совместимы лишь с самыми новыми платформами и работоспособны только в новых версиях операционных систем.

В то время как пропускной способности интерфейса SATA становится недостаточно для скоростных моделей SSD, а PCIe-накопители громоздки и требуют для своей установки отдельного полноразмерного слота, на сцену постепенно выходят накопители, выполненные в форм-факторе M.2 . Похоже, что именно M.2 SSD имеют шанс стать следующим общепринятым стандартом, и они будут не менее популярны, чем SATA SSD. Однако нужно иметь в виду, что M.2 – это не ещё один новый интерфейс, а лишь спецификация типоразмера карт и разводки необходимого для них разъёма. Работают же M.2 SSD по вполне привычным интерфейсам SATA либо PCI Express: в зависимости от конкретной реализации накопителя допускается как один, так и другой вариант.



Карты M.2 представляют собой небольшие дочерние платы с напаянными на них элементами. Необходимые для них слоты M.2 сегодня можно найти на большинстве современных материнских плат, а также во многих новых ноутбуках. Учитывая, что M.2 SSD могут работать в том числе и через интерфейс PCI Express, наиболее интересны с практической точки зрения как раз именно такие M.2-накопители. Однако на данный момент ассортимент подобных моделей не слишком велик. Тем не менее, если речь идёт о сборке или модернизации современной высокопроизводительной системы, в частности, игрового десктопа или ноутбука, мы советуем обращать внимание в первую очередь именно на M.2-модели SSD с интерфейсом PCI Express.

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

Типы флеш-памяти и надёжность накопителей

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

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



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

Разумной альтернативой SLС-памяти с более высокой плотностью хранения данных в полупроводниковых NAND-кристаллах и более низкой ценой является MLC NAND . В такой памяти в каждой ячейке хранится уже по два бита информации. Скорость работы логической структуры MLC-памяти остаётся на достаточно хорошем уровне, но выносливость снижается примерно до трёх тысяч циклов перезаписи. Тем не менее, MLC NAND используется сегодня в подавляющем большинстве высокопроизводительных твердотельных накопителей, а уровень её надёжности вполне достаточен для того, чтобы производители SSD не только давали на свои продукты пятилетнюю или даже десятилетнюю гарантию, но и обещали возможность перезаписи полной ёмкости накопителя несколько сотен раз.

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

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

Тем не менее, даже такую хлипкую TLC NAND в сегодняшних накопителях можно встретить достаточно часто. Число моделей SSD на её основе уже перевалило далеко за десяток. Секрет жизнеспособности таких решений заключается в том, что в них производители добавляют небольшой внутренний кеш, основанный на скоростной и высоконадёжной SLC NAND. Именно таким образом решается сразу обе проблемы – как с производительностью, так и с надёжностью. В результате, SSD на базе TLC NAND получают скорости, достаточные для насыщения SATA-интерфейса, а их выносливость позволяет производителям давать на конечные продукты трёхлетнюю гарантию.



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

В то время как в классической NAND-памяти ячейки расположены исключительно планарно, то есть в виде плоского массива, в 3D NAND в полупроводниковой структуре введено третье измерение, и ячейки располагаются не только по осям X и Y, но и в несколько ярусов друг над другом. Этот подход позволяет решить главную проблему – плотность хранения информации в такой структуре можно наращивать не увеличением нагрузки на имеющиеся ячейки или их миниатюризацией, а простым добавлением дополнительных слоёв. Успешно решается в 3D NAND и вопрос выносливости флеш-памяти. Трёхмерная компоновка позволяет применять производственные технологии с увеличенными нормами, которые с одной стороны дают более устойчивую полупроводниковую структуру, а с другой – устраняют взаимное влияние ячеек друг на друга. В результате, ресурс трёхмерной памяти по сравнению с планарной удаётся улучшить примерно на порядок.



Иными словами, трёхмерная структура 3D NAND готова совершить настоящую революцию. Проблема лишь в том, что изготавливать такую память несколько сложнее, чем обычную, поэтому старт её производства значительно растянулся по времени. В итоге, на данный момент налаженным массовым выпуском 3D NAND может похвастать лишь компания Samsung. Остальные производители NAND пока лишь готовятся к запуску серийного производства трёхмерной памяти и смогут предложить коммерческие решения только в следующем году.

Если же говорить о трёхмерной памяти Samsung, то на сегодняшний день она использует 32-слойный дизайн и продвигается под собственным маркетинговым именем V-NAND. По типу организации ячеек в такой памяти она подразделяется на MLC V-NAND и TLC V-NAND – и то, и другое – это трёхмерная 3D NAND, но в первом случае каждая отдельная ячейка хранит по два бита данных, а во втором – по три. Хотя принцип действия в обоих случаях схож с обычной MLC и TLC NAND, за счёт использования зрелых техпроцессов её выносливость выше, а значит, SSD на базе MLC V-NAND и TLC V-NAND несколько лучше по надёжности, чем SSD с обычной MLC и TLC NAND.

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

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

Производители SSD, о которых следует знать

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

В числе таких «столпов», на которых держится весь рынок твердотельных накопителей, можно назвать лишь несколько имён. И в первую очередь это – Samsung , которая на этот момент владеет весьма внушительной 44-процентной рыночной долей. Иными словами, почти каждый второй проданный SSD сделан именно Samsung. И такие успехи совсем не случайны. Компания не только самостоятельно делает флеш-память для своих SSD, но и обходится вообще без какого-либо стороннего участия в проектировании и производстве. В её твердотельных накопителях используются аппаратные платформы, от начала и до конца сконструированные собственными инженерами и производимые на собственных мощностях. В результате, передовые накопители Samsung нередко отличаются от конкурирующих продуктов своей технологической продвинутостью – в них можно встретить такие прогрессивные решения, которые в продукции других фирм появляются существенно позже. Например, накопители, основанные на 3D NAND, в настоящее время присутствуют исключительно в ассортименте компании Samsung. И именно поэтому на SSD этой компании следует обратить внимание энтузиастам, которым импонирует техническая новизна и высокая производительность.

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

Также мы бы посоветовали обращать внимание на те твердотельные накопители, которые выпускаются компаниями SanDisk и Micron, использующей торговую марку Crucial . Обе эти фирмы имеют собственные мощности по выпуску флеш-памяти, что позволяет им предлагать высококачественные и технологичные SSD с отличным сочетанием цены, надёжности и быстродействия. Немаловажно и то, что при создании своих продуктов эти производители опираются на сотрудничество с компанией Marvell – одним из лучших и крупнейших разработчиков контроллеров. Такой подход позволяет SanDisk и Micron стабильно добиваться достаточно высокой популярности их продукции – их доля на рынке SSD достигает 9 и 5 процентов соответственно.

В завершение рассказа об основных игроках рынка твердотельных накопителей упомянуть следует и о компании Intel. Но, к сожалению, не в самом положительном ключе. Да, она тоже самостоятельно производит флеш-память и имеет в своём распоряжении отличную инженерную команду, способную проектировать весьма интересные SSD. Однако Intel сосредоточена в первую очередь на разработках твердотельных накопителей для серверов, которые рассчитаны на интенсивные нагрузки, имеют достаточно высокую цену и потому малоинтересны для обычных пользователей. Её же клиентские решения основываются на совсем старых аппаратных платформах, закупаемых на стороне, и заметно проигрывают в своих потребительских качествах предложениям конкурентов, о которых мы говорили выше. Иными словами, использовать в современных персональных компьютерах твердотельные накопители компании Intel мы не советуем. Исключение для них можно делать лишь в одном случае – если речь идёт о высоконадёжных накопителях с eMLC-памятью, которые микропроцессорному гиганту удаются на отлично.

Быстродействие и цены

Если вы внимательно ознакомились с первой частью нашего материала, то осмысленный выбор твердотельного накопителя кажется очень простым. Совершенно очевидно, что выбирать следует из основанных на V-NAND или MLC NAND моделей SSD, предлагаемых лучшими производителями – лидерами рынка, то есть Crucial, Kingston, Samsung или SanDisk. Однако даже если сузить круг поиска до предложений только этих компаний, то окажется, что их всё равно очень много.

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

В результате, продающиеся в магазинах бюджетные накопители предлагают удельную цену на уровне $0,3-0,35 за каждый гигабайт. Модели среднего уровня подороже – их стоимость составляет $0,4-0,5 за каждый гигабайт объёма. Удельные же цены флагманских SSD вполне могут доходить до $0,8-1,0 за гигабайт. В чём же разница?

Решения верхней ценовой категории, которые в первую очередь ориентированы на аудиторию энтузиастов, это – высокопроизводительные SSD, использующие для своего включения в систему шину PCI Express, которая не ограничивает максимальную пропускную способность при передаче данных. Такие накопители могут быть выполнены в виде M.2 или PCIe-карт и обеспечивают скорости, в разы превышающие быстродействие любых SATA-накопителей. При этом в их основе используются специализированные контроллеры Samsung, Intel или Marvell и самая качественная и быстродействующая память типов MLC NAND или MLC V-NAND.

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

Бюджетные накопители – самая многочисленная группа, в которой находят место совершенно разношёрстные решения. Однако находятся у них и общие черты. Так, контроллеры, которые применяются в недорогих SSD, обычно имеют урезанный уровень параллелизма. Кроме того, чаще всего это процессоры, созданные небольшими тайваньскими инженерными командами вроде Phison, Silicon Motion или JMicron, а не командами разработчиков с мировым именем. По своей производительности бюджетные накопители до решений более высокого класса, естественно, не дотягивают, что бывает особенно заметно при случайных операциях. Кроме того, попадающая в накопители нижнего ценового диапазона флеш-память тоже к самому высокому уровню, естественно, не относится. Обычно здесь встречается либо дешёвая MLC NAND, выпущенная по «тонким» производственным нормам, или вообще TLC NAND. Вследствие этого сроки гарантии на такие SSD сокращены до трёх лет, существенно ниже бывает и декларируемый ресурс перезаписи. Высокопроизводительные SSD

Samsung 950 PRO . Вполне естественно, что лучшие SSD потребительского уровня стоит искать в ассортименте компании, которая занимает на рынке доминирующее положение. Так что если вы хотите получить в своё распоряжение накопитель премиального класса, который заведомо превосходит любые другие SSD по скорости, то можете смело приобретать новейший Samsung 950 PRO. В его основе лежит собственная аппаратная платформа Samsung, в которой задействуется передовая MLC V-NAND второго поколения. Она обеспечивает не только высокую производительность, но и хорошую надёжность. Но следует иметь в виду, что Samsung 950 PRO включается в систему по шине PCI Express 3.0 x4 и выполнен в виде карты форм-фактора M.2. И есть ещё одна тонкость. Этот накопитель работает по протоколу NVMe, то есть совместим лишь с новейшими платформами и операционными системами.



Kingston HyperX Predator SSD . Если же вы хотите получить максимально беспроблемное решение, которое заведомо совместимо не только с самыми новыми, но и со зрелыми системами, то выбор стоит останавливать на Kingston HyperX Predator SSD. Этот накопитель немного медленнее Samsung 950 PRO и использует шину PCI Express 2.0 x4, но зато его всегда и без каких-либо проблем можно сделать загрузочным накопителем в абсолютно любой системе. При этом обеспечиваемые им скорости в любом случае в разы выше, чем выдают SATA SSD. И ещё одна сильная сторона Kingston HyperX Predator SSD заключается в том, что он доступен в двух вариантах: в виде карт форм-фактора M.2, либо в виде PCIe-плат, устанавливаемых в привычный слот. Правда, есть у HyperX Predator и прискорбные недостатки. На его потребительских свойствах сказывается тот факт, что производитель закупает базовые компоненты на стороне. В основе HyperX Predator SSD лежит контроллер разработки Marvell и флеш-память Toshiba. В результате, не имея полного контроля над начинкой своего решения, Kingston вынуждена давать на свой премиальный твердотельный накопитель гарантию, сокращённую до трёх лет.




Тестирование и обзор Kingston HyperX Predator SSD .

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

Samsung 850 EVO . Основанный на собственной самсунговской аппаратной платформе, которая включает новаторскую флеш-память типа TLC V-NAND, накопитель Samsung 850 EVO предлагает отличное сочетание потребительских характеристик. При этом его надёжность не вызывает никаких нареканий, а технология SLC-кеширования TurboWrite позволяет полностью задействовать пропускную способность SATA-интерфейса. Особенно привлекательными нам представляются варианты Samsung 850 EVO с ёмкостью от 500 Гбайт и выше, которые обладают SLC-кешем большего размера. Кстати, в этой линейке есть и уникальный SSD с объёмом 2 Тбайт, аналогов которого вообще не существует. Ко всему перечисленному следует добавить, что на Samsung 850 EVO распространяется пятилетняя гарантия, причём владельцы накопителей данного производителя всегда могут обратиться в любой из раскиданных по стране многочисленных сервис-центров этой компании.



SanDisk Extreme Pro . Компания SanDisk сама производит флеш-память для своих накопителей, но контролеры закупает на стороне. Так, Extreme Pro базируется на контроллере разработки Marvell, однако в нём можно найти немало ноу-хау от самой SanDisk. Самое интересное добавление – SLC-кеш nCahce 2.0, который в Extreme Pro реализован внутри MLC NAND. В результате, производительность SATA-накопителя весьма впечатляет, а кроме того, мало кого оставят равнодушными условия гарантии, срок которой установлен в 10 лет. Иными словами, SanDisk Extreme Pro – очень интересный и актуальный вариант для систем среднего уровня.




Тестирование и обзор SanDisk Extreme Pro .

Crucial MX200 . Есть очень неплохой SATA SSD среднего уровня и ассортименте Micron. Crucial MX200 использует произведённую этой фирмой MLC-память и подобно SanDisk Extreme Pro основывается на контроллере Marvell. Однако модель MX200 дополнительно усилена технологией динамического SLC-кеширования Dynamic Write Acceleration, которая поднимает производительность SSD выше среднего уровня. Правда, используется она лишь в моделях с ёмкостью 128 и 256 Гбайт, так что в первую очередь интерес представляют именно они. Также несколько хуже у Crucial MX200 и условия гарантии – её срок установлен лишь в три года, но в качестве компенсации Micron продаёт свои SSD немного дешевле конкурентов.




Бюджетные модели

Kingston HyperX Savage SSD . Компания Kingston предлагает бюджетный SSD, основанный на полноценном восьмиканальном контроллере, чем он и подкупает. Правда, в HyperX Savage используется разработка Phison, а не Marvell, но зато флеш-память – нормальная MLC NAND, которую Kingston закупает у Toshiba. В итоге, уровень производительности, обеспечиваемый HyperX Savage, немного ниже среднего, а гарантия на него – трёхлетняя, но среди бюджетных предложений этот накопитель смотрится достаточно уверенно. Кроме того, HyperX Savage эффектно выглядит и его будет приятно установить в корпус с окном.




Тестирование и обзор Kingston HyperX Savage SSD .

Crucial BX100 . Этот накопитель попроще, чем Kingston HyperX Savage, и в его основе лежит урезанный четырёхканальный контроллер Silicon Motion, но несмотря на это производительность Crucial BX100 совсем неплоха. Кроме того, Micron использует в этом SSD свою собственную MLC NAND, что в итоге и делает данную модель весьма интересным бюджетным предложением, предлагаемым именитым производителем и не вызывающим претензий пользователей к надёжности.



В 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 «по контроллеру», единственно, что покажется сложным пользователю – это обилие производителей контроллеров и сложности с идентификацией последнего.

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: