MLC или TLC – что лучше в SSD накопителях. Флэш-память. Твердотельный накопитель. Типы флеш-памяти. Карта памяти

NAND и NOR: что они такое, и с чем их едят

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

Итак, сокращения NOR и NAND обозначают тип логических элементов, используемых в данной единице флэш-памяти. NOR обозначает логический элемент ИЛИ-НЕ (NOT OR), а NAND - И-НЕ (NOT AND). Но, поскольку мне сейчас не хочется читать вам курс булевой алгебры и основ цифровой логики, которая вам, к тому же, и не нужна, остановимся лишь на результатах использования этих технологий.
Основная функция накопителей на флэш - хранить информацию. И отсюда вытекает первое различие: достигнутые сегодня плотности записи для технологии NAND превосходят достигнутые в NOR, причем разница измеряется в порядках. И требования хранения больших объемов и компактности однозначно определяют технологию используемой флэш-памяти. Впрочем, это не единственный критерий. Не менее важной является возможность выполнять в памяти записанный программный код, т.е. так называемая XIP Capability (XIP - eXecute In Place). Такая возможность существует у NOR-технологии и отсутствует у NAND. Так получается, что основным назначением памяти, произведенной по технологии NAND, является хранение данных, а по технологии NOR - хранение исполнимого программного кода и, в меньшей степени, данных (что обусловлено не только доступным малым объемом - чуть позже мы вернемся к этому).

Флэш-устройства делятся на части, которые называются блоками. Это необходимо делать для преодоления некоторых физических ограничений и из ценовых соображений. Запись в любом устройстве флэш определенного блока может быть произведена только если этот блок пуст или очищен. В большинстве случаев получается так, что операции записи должна предшествовать операция стирания. И если в NAND-устройствах операция стирания блока может быть произведена сразу, то в NOR-устройствах необходимо предварительно установить все байты блока в ноль. Нужно также сказать что типичное значение размера блока в NOR-устройствах составляет 64 или 128 Кб (8-32 Кб у NAND), что в сочетании с и так невысокими скоростями работы флэш приводит к тому, что операции записи со стиранием могут занимать до нескольких секунд. Это и является сдерживающим фактором применения NOR-флэша в качестве носителя данных. А применение его для хранения исполнимого кода возможно в том случае, если он устраивает в плане производительности - требования не должны быть высокими. Время стирания памяти NAND измеряется в миллисекундах и имеет первый порядок. А малый размер блока в случае неблагоприятных внешних условий гарантирует потерю минимального объема данных. Итак, подводя итог по этому абзацу: операции чтения NOR несколько быстрее NAND; операции же записи, наоборот, быстрее у NAND, причем значительно; благодаря малому размеру блока NAND в единицу времени нуждается в меньшем числе стираний (что, как мы увидим ниже, еще и способно продлить срок ее функционирования в устройстве), которые она проводит приблизительно на три порядка быстрее, чем NOR.

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

Но у любой технологии не могут быть только положительные стороны. В этом смысле NAND тоже не исключение. Как и при эксплуатации любых накопителей, возможны случайные ошибки чтения и порча накопителя в целом. Для устройств памяти флэш-типа актуально говорить о безошибочном чтении, обработке плохих блоков и числе циклов чтения/записи. Явление ошибочного вычитывания битов (называется bit-flipping) больше характерно для NAND-памяти, чем для NOR. Вред от одного ошибочного бита определяется типом данных, к которым он принадлежит. Так, для мультимедийных данных это окажется несущественным, но подобная ошибка в программном коде или критически важных данных может привести к весьма трагическим результатам. Как я уже сказал, для NOR-памяти это явление менее характерно, а память на технологиях NAND нуждается в использовании какого-то дополнительного механизма обнаружения и коррекции ошибок.

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

Рабочий ресурс микросхем флэш выражается в минимально и максимально возможном числе циклов стирания каждого отдельного блока (а мы уже знаем, что каждая запись блока обязательно сопровождается его предварительным стиранием). Для памяти на технологиях NOR оно составляет 10.000 и 100.000 циклов соответственно, для NAND - 100.000 и 1.000.000 циклов. Все предельно просто, и комментировать нечего.
Использование NOR-памяти отличается сравнительной простотой. Она не нуждается в каких-либо дополнительных драйверах, а может быть просто установлена и использована. C NAND сложнее, так как разные производители используют разные интерфейсы, и для нее скорее всего понадобится драйвер. Впрочем, несмотря на то, что у NAND-памяти много преимуществ, вы не должны думать, что NOR - это вчерашний день. NOR-память сегодня находит применение в многочисленных устройствах, не нуждающихся в больших объемах и некритичных к производительности. NAND находит применение в тех областях, где бОльшая сложность по применению оправдывается большИми доступными объемами и производительностью.

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

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

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

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

Single Level Cell (SLC)

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

Плюсы:

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

Минусы:

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

Multi Level Cell (MLC)

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

Плюсы:

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

Минусы:

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

Three Level Cell (TLC)

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

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

Плюсы:

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

Минусы:

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

Заключение

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

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

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

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




Top