Что такое nand запись на ssd. Микросхемы NAND памяти фирмы HYNIX. Как определить конкретный тип памяти в SSD

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

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

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

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

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

рис.1 Структура NOR рис.2 Структура NAND

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

Основные отличия в параметрах флэш-памяти, изготовленной по различным технологиям, приведены в таблице 1.

Таблица 1. Сравнительные характеристики модулей памяти на основе ячеек NAND и NOR

Параметр NAND NOR
Емкость ~ 1 Гбит (2 кристалла в корпусе) ~ 128 Мбит
Напряжение питания 2.7 – 3.6 В 2.3 – 3.6 В
Ввод/вывод х8 / х16 х8 / х16
Время доступа 50 нС (цикл последовательного доступа)
25 мкС (случайный доступ)
70 нС (30 пФ, 2.3 В)
65 нС (30 пФ, 2.7 В)
Скорость программирования (типовая) -
200 мкС / 512 байт
8 мкС / байт
4.1 мС / 512 байт
Скорость стирания (типовая) 2 мС / блок (16 кБ) 700 мС / блок
Совокупная скорость
программирования и стирания (типовая)
33.6 мС / 64 кБ 1.23 сек / блок (основной: 64 кБ)

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

  • емкость (256 Мбит, 512 Мбит и 1 Гбит);
  • ширина шины, 8 или 16 бит (х8, х16);
  • напряжение питания: от 2.7 до 3.6 В (3.3 В устройства) или от 1.7 до 1.95 В (1.8 В устройства);
  • размер страницы: в х8 устройствах (512 + 16 запасных) байт, в 16х – (256 + 8 запасных) слов;
  • размер блока: в х8 устройствах (16 К + 512 запасных) байт, в 16х – (8 К + 256 запасных) слов;
  • время доступа: случайный доступ 12 мкС, последовательный 50 нС;
  • время программирования страницы 200 мкС;

Все микросхемы NAND-флэш от Hynix характеризуются типичным временем стирания блока 2 мС, имеют аппаратную защиту данных при переходных процессах по питанию и позволяют выполнять 100000 циклов записи/стирания. Гарантированное время сохранности данных составляет 10 лет. Важной особенностью микросхем памяти Hynix является их повыводная совместимость вне зависимости от емкости. Это позволяет очень легко улучшать потребительские характеристики конечного изделия. В таблице 2 приведены базовые параметры всех микросхем NAND-флэш фирмы Hynix.

Таблица 2. Сравнительный перечень микросхем NAND-флэш фирмы Hynix

Об"ем Тип Организаця Напряжение
питания
Диапазон
рабочих
температур*
Сккорость
(ns)
Корпус
256Mbit 32Mx8 1.8V C,E,I 50 TSOP/WSOP/FBGA
32Mx8 3.3V C,E,I 50 TSOP/WSOP/FBGA
16Mx16 1.8V C,E,I 50 TSOP/WSOP/FBGA
16Mx16 3.3V C,E,I 50 TSOP/WSOP/FBGA
512Mbit 64Mx8 1.8V C,E,I 50 TSOP/WSOP/FBGA
64Mx8 3.3V C,E,I 50 TSOP/WSOP/FBGA
32Mx16 1.8V C,E,I 50 TSOP/WSOP/FBGA
32Mx16 3.3V C,E,I 50 TSOP/WSOP/FBGA
1Gb 128Mx8 1.8V C,E,I 50 TSOP/WSOP/FBGA
128Mx8 1.8V C,E,I 50 TSOP/WSOP/FBGA
128Mx8 3.3V C,E,I 50 TSOP/WSOP/FBGA
128Mx8 3.3V C,E,I 50 TSOP/WSOP/FBGA
64Mx16 1.8V C,E,I 50 TSOP/WSOP/FBGA
64Mx16 1.8V C,E,I 50 TSOP/WSOP/FBGA
64Mx16 3.3V C,E,I 50 TSOP/WSOP/FBGA
64Mx16 3.3V C,E,I 50 TSOP/WSOP/FBGA

* - Диапазоны температур
C - Коммерческий диапазон рабочих температур 0...+70°C
E - Расширенный диапазон рабочих температур -25...+85°C
I - Индустриальный диапазон рабочих температур -40...+85°C

Более детально особенности микросхем памяти Hynix можно рассмотреть на примере кристаллов серии HY27xx(08/16)1G1M. На рис.3 показана внутренняя структура и назначение выводов этих приборов. Линии адреса мультиплексированы с линиями ввода/вывода данных на 8-ми или 16-ти разрядной шине ввода/вывода. Такой интерфейс уменьшает количество используемых выводов и делает возможным переход к микросхемам большей емкости без изменения печатной платы. Каждый блок может быть запрограммирован и стерт 100000 раз. Для увеличения жизненного цикла NAND-флэш устройств настоятельно рекомендуется применять код корректировки ошибок (ECC). Микросхемы имеют выход «чтение/занят» с открытым стоком, который может использоваться для идентификации активности контроллера PER (Program/Erase/Read). Поскольку выход сделан с открытым стоком, существует возможность подключать несколько таких выходов от разных микросхем памяти вместе через один «подтягивающий» резистор к положительному выводу источника питания.


Рис.3 Внутренняя организация микросхем NAND-флэш Hynix

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

Микросхемы памяти Hynix доступны в следующих корпусах:

  • 48-TSOP1 (12x20x1.2 мм) – рис.4;
  • 48-WSOP1 (12х12х0.7 мм)
  • 63-FBGA (8.5х15х1.2 мм, 6х8 массив шаровых контактов, 0.8 мм шаг)


Рис.4 NAND-флэш Hynix

Массив памяти NAND-структуры организован в виде блоков, каждый из которых содержит 32 страницы. Массив раздел на две области: главную и запасную (рис.5). Главная область массива используется для хранения данных, в то время как запасная область обычно задействована для хранения кодов коррекции ошибок (ECC), программных флагов и идентификаторов негодных блоков (Bad Block) основной области. В устройствах х8 страницы в главной области разделены на две полустраницы по 256 байт каждая, плюс 16 байт запасной области. В устройствах х16 страницы разделены на главную область объемом 256 слов и запасную объемом 8 слов.


Рис.5 Организация массива NAND-памяти

NAND-флэш устройства со страницами 528 байт / 264 слова могут содержать негодные блоки, в которых может быть одна и более неработоспособных ячеек, надежность которых не гарантируется. Помимо этого, дополнительные негодные блоки могут появиться в ходе эксплуатации изделия. Информация о плохих блоках записывается в кристалл перед отправкой. Работа с такими блоками выполняется по процедуре, детально описанной в справочном руководстве по микросхемам памяти Hynix.

При работе с микросхемами памяти выполняются три основных действия: чтение (рис.6), запись (рис.7) и стирание (рис.8).

Процедура чтения данных


Рис.6 Диаграмма процедуры чтения

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

Чтение страницы выполняется после доступа в режиме случайного чтения, при котором содержимое страницы переносится в буфер страницы. О завершении переноса информирует высокий уровень на выход «Чтение/занят». Данные могут быть считаны последовательно (от выбранного адреса столбца до последнего столбца) по импульсу сигнала на Read Enable (RE).

Режим последовательного построчного чтения активен, если на входе Chip Enable (CE) остается низкий уровень, а по входу Read Enable поступают импульсы после прочтения последнего столбца страницы. В этом случае следующая страница автоматически загружается в буфер страниц и операция чтения продолжается. Операция последовательного построчного чтения может использоваться только в пределах блока. Если блок изменяется, должна быть выполнена новая команда чтения.

Процедура записи данных


Рис.7 Диаграмма процедуры записи

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

  1. Один цикл на шине необходим для настройки команды записи страницы.
  2. Четыре шинных цикла требуются для передачи адреса.
  3. Выдача данных на шину (до 528 байт / 264 слов) и загрузка в буфер страниц.
  4. Один цикл на шине необходим для выдачи команды подтверждения для старта контроллера PER.
  5. Выполнение контроллером PER записи данных в массив.

Процедура стирания блока


Рис.8 Диаграмма процедуры стирания

Операция стирания выполняется за один раз над одним блоком. В результате её работы все биты в указанном блоке устанавливаются в «1». Все предыдущие данные оказываются утерянными. Операция стирания состоит из трех шагов (рис.8):

  1. Один цикл шины необходим для установки команды стирания блока.
  2. Только три цикла шины нужны для задания адреса блока. Первый цикл (A0-A7) не требуется, поскольку верны только адреса с А14 по А26 (старшие адреса), А9-А13 игнорируются.
  3. Один цикл шины необходим для выдачи команды подтверждения для старта контроллера PER.

Помимо Hynix микросхемы NAND-памяти выпускаются еще несколькими производителями, среди которых весьма большую номенклатуру и объем продаж изделий имеет компания Samsung. Она производит две базовые линейки микросхем памяти NAND Flash и One NAND™. Модули памяти семейства One NAND™ представляют собой одиночный кристалл памяти со стандартным интерфейсом NOR-флэш, основанный на массиве ячеек NAND-флэш.

Ассортимент выпускаемых компанией Samsung изделий более широк, чем у Hynix. Представлены модули емкостью от 4 Мбит до 8 Гбит, работающие в коммерческом и индустриальном температурных диапазонах. Доступны как 8-ми, так и 16-разрядные модификации на разные диапазоны питающих напряжений: 1,65…1,95 В или 2,7…3,6 В. Выпускаемые Samsung изделия имеют развитые аппаратные возможности защиты данных: защиту от записи для BootRAM, защитный режим для Flash-массива и защиту от случайной записи при включении и выключении.

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

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

Таблица 3. Преимущества и недостатки использования NAND-флэш в твердотельных накопителях

Категория Содержимое
Возможности Преимущества Хранилище данных, которые могут быть переданы через USB
Малый размер, легкость создания портативных устройств
Нет ограничений в объеме памяти
Безопасное хранение данных, физически более надежное в сравнении в HDD
Поддержка функции «горячей» установки Plug&Play
Быстрая скорость передачи:
USB 1.1: максимум до 12 Мбод, USB 2.0: максимум 480 Мбод
Превосходная совместимость со стандартизованным USB интерфейсом
Возможность питания от USB порта (500 мА, 4,5…5,5 В)
Недостатки Необходимость в программном обеспечении в операционной системе хост-контроллера
Необходимость в использовании чипсета USB-хоста
Высокая стоимость в сравнении с HDD сравнимой емкости
Емкость продукта От 16 Мбит до 8 Гбит
Скорость передачи Запись До 13 Мб/с под USB 2.0 у карты CF от SanDisk
Чтение До 15 Мб/с под USB 2.0 у SanDisk
Применение ПК (настольные, переносные), DVC,PDA, сотовые телефоны и пр.
Ведущие производители, использующие флэш-память M-Systems, Lexar Media, SanDisk и др.
Ассоциации USB-IF (форум конструкторов USB), UTMA (ассоциация универсальной транспортабельной памяти)

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

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

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

Для начала я проиллюстрирую проблему картинками.

Что указывают в характеристиках SSD

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

Вам что-нибудь говорит эта картинка?

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

Может быть, так будет понятнее?

А если так?

Или все-таки лучше так?

Между тем, во всех этих накопителях установлена одинаковая память! В это трудно поверить, особенно глядя на две последних картинки, не правда ли? Дочитав запись до конца, вы не только в этом убедитесь, но и будете читать подобные характеристики как открытую книгу.

Производители памяти NAND

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

  • Intel/Micron
  • Hynix
  • Samsung
  • Toshiba/SanDisk

Intel и Micron не случайно делят одно место в списке. Они производят NAND по одинаковым технологиям в рамках совместного предприятия IMFT .

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

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

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

Типы памяти NAND: SLC, MLC и TLC

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

SLC является самой старой из трех технологий, и вы вряд ли найдете современный SSD с такой NAND. На борту большинства накопителей сейчас MLC, а TLC - это новое слово на рынке памяти для твердотельных накопителей.

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

Занятно, что пока широкая публика обеспокоена ограниченным количеством циклов перезаписи SSD, по мере развития технологий NAND этот параметр только снижается!

Как определить конкретный тип памяти в SSD

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

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

На специализированных сайтах можно найти базы данных по SSD, и вот вам пример .

Я без проблем нашел там характеристики памяти своих накопителей, за исключением SanDisk P4 (mSATA), установленного в планшете.

В каких SSD установлена самая лучшая память

Давайте сначала пройдемся по основным пунктам статьи:

  • производителей NAND можно пересчитать по пальцам одной руки
  • в современных твердотельных накопителях используется два типа NAND: MLC и TLC, только набирающая обороты
  • MLC NAND различается интерфейсами: ONFi (Intel, Micron) и Toggle Mode (Samsung, Toshiba)
  • ONFi MLC NAND делится на асинхронную (дешевле и медленнее) и синхронную (дороже и быстрее)
  • производители SSD используют память разных интерфейсов и типов, создавая разнообразный модельный ряд на любой кошелек
  • официальные спецификации редко содержат конкретную информацию, но базы данных SSD позволяют точно определить тип NAND

Конечно, в таком зоопарке не может быть однозначного ответа на вопрос, вынесенный в подзаголовок. Вне зависимости от бренда накопителя, NAND соответствует заявленным спецификациям, иначе ОЕМ-производителям нет смысла ее покупать (они дают на SSD свою гарантию).

Однако… представьте, что лето вас порадовало небывалым урожаем земляники на даче!

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

Самую лучшую землянику вы оставите себе или выставите на продажу? :)

Можно предположить, что производители NAND устанавливают самую лучшую память в свои накопители. Учитывая ограниченное количество компаний, выпускающих NAND, список производителей SSD получается еще короче:

  • Crucial (подразделение Micron)
  • Intel
  • Samsung

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

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

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

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

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

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

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

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

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

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

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

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

SLC

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

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

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

MLC

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

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

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

TLC

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

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

ONFi и Toggle Mode

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

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

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

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