Какая память для SSD лучше

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

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

SLC – исторически первый тип флеш-памяти, применяемой в твердотельных накопителях. Аббревиатура расшифровывается как «Single Level Cell» (одноуровневая ячейка), и, как следует из названия, поддерживает один уровень сигнала. Такой блок лишь записывает логический 0 или 1, в зависимости от уровня сигнала, и может содержать только 1 бит информации. В настоящее время SLC не производятся.

MLC – развитие SLC, расшифруется как «Multi Level Cell», то есть, «ячейка со многими уровнями». Транзистор такой флеш-памяти уже может «помнить» не просто 1 или 0, а несколько уровней сигнала, благодаря чему содержит 2 бита информации. Это позволяет поднять плотность записи при том же техпроцессе вдвое, а значит снизить цену на гигабайт емкости до 2 раз.

Разумеется, за всё надо платить. 2 бита — это 4 уровня напряжения в ячейке памяти. Поскольку минимальный и максимальный уровни в ячейке — в общем те же, что были в SLC ячейке, это значит, что промежуточные уровни MLC стали отличаться друг от друга в два раза меньше, чем в SLC ячейке. А уровни имеют свойства постепенно «плыть» — из-за утечек на подложку они постепенно уменьшаются, а из-за перетекания с соседних ячеек могут даже увеличиваться, и всё это происходит малопредсказуемым образом. В результате надежность хранения информации в ячейке MLC значительно хуже, чем в SLC, и уязвимость такой ячейки при деградации кремния — выше.

TLC или «Triple Level Cell» (три уровня) – логичное продолжение MLC. Она раньше так и называлась — MLC-3, но потом маркетолухи придумали новое название. За счет тонкого управления уровнем заряда ячейки, и повышением чувствительности считывания, один элемент флеш-памяти может хранить в себе 3 бита информации. На самом деле уровней сигнала в ячейке TLC не три, а ВОСЕМЬ. Соответственно и чувствительность к деградации заряда у нее — во много раз выше.

Дальнейшее развитие технологии TLC — это 3D TLC, в которой ячейки TLC размещены на кристалле в несколько слоёв. Например, Samsung SSD 850 EVO использует 3D-память с 32 слоями 3-битных ячеек TLC. Это решение позволяет уменьшить площадь кристалла и таким образом удешевить производство. Но такая память еще менее надежна, чем простые TLC, из-за большей уязвимости тонких слоёв к межслойным утечкам.

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

QLC – самый новый, на данный момент (2019), вид памяти для SSD. Она расшифровывается как «Quad Level Cell» и, соответственно, способна хранить 4 бита данных в ячейке одновременно. Такая флеш-память – самая доступная, бюджетный диск на терабайт с ней можно найти по цене около $100. Уровней сигнала в ячейке QLC уже 16, и она еще менее надежна, чем предыдущие варианты.

Главный недостаток SSD-накопителей — ограниченное количество циклов перезаписи. Обычная еще несколько лет назад MLC флеш-память позволяет записывать в ячейку данные примерно 3000-10000 раз. Сейчас в накопителях используется более плотная память типа TLC с ресурсом порядка 1000 циклов записи или даже менее. Ресурс QLC памяти — вообще ничтожен, на уровне 150-200 циклов записи.

Для сравнения — ячейки SLC выдерживали порядка сотен тысяч циклов перезаписи.

Исходно, когда все эти технологии городились — обещались несколько более высокие цифры, например, для TLC заявляли около 3000 циклов, а для QLC в районе 1000 циклов. Но реальность оказалась куда грустнее. Хуже того — производители утверждали, что при выходе SSD-диска из строя он сохранит способность считывания информации, однако и это оказалось по факту ложью, накопитель просто сдыхает с массовым повреждением имеющихся на нем файлов.

Чтобы не пугать пользователя столь низкими числами циклов перезаписи, маркетолухи придумали мерять ресурс SSD-накопителей при помощи параметра TBW (Total Bytes Written). Смысл параметр TBW очень прост для понимания — это сколько терабайт данных диск сможет записать, прежде чем загнется.

Диски трёхлетней примерно давности, сделанные на чипах MLC, имели параметр долговечности TBW=212 для моделей емкостью 128 гигабайт, 424 для моделей в 256 гигабайт и 848 для моделей в 512 гигабайт.

Современные диски, сделанные на чипах 3D ТLC, имеют TBW=120 для моделей емкостью 512 гигабайт (и всего 60 для моделей в 256 гигабайт). Поэтому продавцы обожают писать TBW для линейки SSD-накопителей по самой ёмкой модели — а о том, что TBW у накопителей меньшей емкости на тех же самых чипах будет пропорционально ниже, они сообщить забывают. Обычный человек видит, что накопитель такой-то серии имеет TBW=480 — и радуется, идет и покупает. И ведь действительно, его почти не обманули — накопитель этой серии действительно имеет такое TBW, но только в модели на 2 терабайта. А человек-то купил накопитель меньшего размера.

Впрочем — а кому теперь легко?

Особенности архитектуры QLC не только снижают надёжность, но и приводят к явлению «усиления записи» (Write amplification, WA). В чём суть WA? В SSD физически с ячейками выполняется гораздо больше операций чтения/записи, чем требуется для объёма данных, непосредственно принятого от операционной системы. Данные на SSD хранятся довольно большими «страницами», обычно по 4 КБ каждая. Также есть понятие «блок» — минимальное количество страниц, которые могут быть перезаписаны. Обычно блок содержит от 128 до 512 страниц.

Например, цикл перезаписи в SSD состоит из нескольких операций:

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

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

Степень «усиления записи» выражается коэффициентом WAF (Write amplification factor): отношение фактически перезаписываемого объёма данных к объёму, который требуется перезаписать. В идеале WAF равен 1. Реальные же значения очень сильно зависят от разных факторов, например, от размера перезаписываемых блоков и алгоритмов, используемых в контроллерах. А поскольку ячейки QLC гораздо чувствительнее к количеству циклов перезаписи, то параметр WAF стал для них намного важнее, чем для TLC и MLC.

Какие ещё факторы негативно влияют на WAF в QLC-накопителях?

Алгоритм «сборки мусора», который ищет неравномерно заполненные блоки, которые одновременно содержат пустые и заполненные страницы, перезаписывая их таким образом, чтобы блоки содержали только пустые или только заполненные страницы, что, в дальнейшем, должно уменьшить количество операций, приводящих к WA.

Wear leveling (Равномерное распределение нагрузки). Блоки, к которым система обращается часто, регулярно перемещаются в ячейки вместо блоков, которые менее востребованы. Это сделано для того, чтобы в накопителе все ячейки памяти изнашивались равномерно. Но в результате общий ресурс накопителя постепенно снижается, даже если вы используете его как архивное хранилище. Да-да, вы всё правильно поняли — даже если вы почти только читаете SSD на QLC, контроллер внутри него постепенно перемещает страницы, переписывает их в другое место — и этим расходует ресурс.

Позволяет снизить WAF и алгоритм разделения статических и динамических данных (Separating static and dynamic data). Контроллер вычисляет, какие данные перезаписываются часто, а какие преимущественно читаются, или вообще не изменяются, и соответствующим образом группирует блоки данных на диске.

Что касается скорости — самыми быстрыми сейчас являются накопители на 3D TLC чипах, причем на тех, которые получены путем «склеивания» двух 48-слойных кристаллов (итого получается 3D в 96 слоёв). Обычные 3D TLC имеют не более 64 слоёв, а бюджетные китайские производители используют чипы в 32 или 48 слоев максимум.

Накопители на QLC-чипах примерно вдвое медленнее, чем на 3D TLC.

При использовании хороших высокоскоростных контроллеров, умеющих распараллеливать работу с чипами Flash, скорость работы SSD-накопителя почти что кратно зависит от числа чипов (то есть, в большинстве случаев, от объема накопителей). Одночиповый накопитель на 256 гигабайт вдвое медленнее, чем двухчиповый на 512, а тот вдвое медленнее, чем четырехчиповый на 1 терабайт.

Но при использовании недорогих контроллеров всё это может не сработать.

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

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

PS. Мало кто знает, что ОС Windows научилась работать с SSD накопителями только с версии 7. Именно начиная с этой версии была введена специальная оптимизация для работы с твердотельными накопителями. Например, Windows 7 не применяет к SSD-накопителю дефрагментацию, технологии SuperFetch и ReadyBoost и другие техники упреждающего чтения, ускоряющие загрузку приложений с обычных HDD-дисков.

PPS. Сейчас флеш-память для SSD накопителей выпускается компаниями SanDisk, Toshiba, Samsung, Intel, Micron и SK Hynix (микроэлектронное подразделение Hyundai).

Материал: Proper специально для 2pad.ru
Настоящий материал самостоятельно опубликован в нашем сообществе пользователем proper на основании действующей редакции Пользовательского Соглашения. Если вы считаете, что такая публикация нарушает ваши авторские и/или смежные права, вам необходимо сообщить об этом администрации сайта на EMAIL abuse@newru.org с указанием адреса (URL) страницы, содержащей спорный материал. Нарушение будет в кратчайшие сроки устранено, виновные наказаны.

You may also like...

Войти с помощью: 
  Подписаться  
Уведомление о