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 и др.

Простой способ ускорить работу вашего компьютера - установка на него 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.

#Тип_чипов #3D_MLC_(Multi_Level_Cell) MLC_(Multi_Level_Cell) #3D_TLC_(Triple_Level_Cell) #TLC_(Triple_Level_Cell)

В современных SSD наиболее распространены три типа чипов памяти : SLC, MLC и TLC.

SLC – Single Level Cell – ячейка с одним уровнем. Имеет высокую производительность, низкое потребление электроэнергии, наибольшую скорость записи и количество . Такой тип памяти обычно используется в серверах высокого уровня, поскольку стоимость на их основе велика.

MLC - Multi Level Cell – ячейка с несколькими уровнями. Обладает меньшей стоимостью, по сравнению с SLC, однако обладает меньшей выносливостью и меньшим количеством . Является хорошим решением для коммерческих и рабочих платформ - имеет хорошее соотношение цена/скорость работы.

EMLC - Enterprise Multi Level Cell – ячейка, аналогичная по структуре обычной MLC, но с увеличенным ресурсом по . По надежности eMLC находится между SLC и MLC, при этом цена не сильно выше, чем у последней. Типичное применение - рабочие станции и серверы среднего класса.

TLC - Three Level Cell – ячейка с тремя уровнями. Обладает большей плотностью, но меньшей выносливостью, медленной скоростью чтения и записи и меньшим количеством по сравнению с SLC и MLC. До настоящего момента, память типа TLC использовалась в основном в flash-накопителях (флешках), однако совершенствование технологий производства сделало возможным его использование и в стандартных SSD.

Все описанные выше типы ячеек памяти относятся к планарному типу, то есть 2D. Их недостатком является то, что для увеличения плотности в каждом отдельном чипе приходится уменьшать техпроцесс, и из-за ряда физических ограничений делать это до бесконечности не получится. Для преодоления этого были разработаны 3D ячейки памяти. Такие ячейки представляет собой цилиндр:

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

Количество состояний ячейки, в зависимости от типа памяти
Физически, все три типа технологий памяти состоят из одинаковых транзисторов, единственным отличием является то, что они хранят в себе различное количество зарядов. Все три работают одинаково: при появлении напряжения ячейка переходит из состояния «выключено» в состояние «включено». SLC использует два отдельных значения напряжения для представления одного бита информации на ячейку и двух логических уровней (0 и 1). MLC использует четыре отдельных значения напряжения для представления четырех логических состояний (00, 01, 10, 11) или двух битов. TLC использует восемь отдельных значений напряжения для представления восьми логических состояний (000, 001, 010, 011, 100, 101, 110, 111) или трех битов информации.

Поскольку в SLC используется только два значения напряжения, они могут сильнее отличаться друг от друга, уменьшая потенциальную возможность некорректно интерпретировать текущее состояние ячейки и позволяя использовать стандартные условия коррекции ошибки . Вероятность ошибок чтения увеличивается при использовании TLC NAND, поэтому такой тип памяти требует большего объема ECC (Error Correction Code – код коррекции ошибок) при исчерпании ресурса NAND, поскольку в TLC приходится корректировать сразу три бита информации, в отличие от одного для SLC и двух для MLC.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итоги

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

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

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

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

Недостатки:

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

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

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

Производительность и срок службы 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

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



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png