SSD-накопители уже давно вышли из разряда дорогой и ненадежной экзотики и стали привычным компонентом компьютеров всех уровней, от бюджетных офисных «печатных машинок» до мощных серверов.
В этой статье мы хотим рассказать о новом этапе эволюции SSD — очередном повышении уровня записи данных в NAND: о четырехуровневых ячейках, хранящих по 4 бита, или QLC (Quad-Level Cell). Накопители, сделанные по этой технологии имеют большую плотность записи, это упрощает увеличение их объема, а стоимость оказывается меньше, чем у SSD с «традиционными» ячейками MLC и TLC.
Как и следовало ожидать, в процессе разработки потребовалось решить множество задач, связанных с переходом на новую технологию. Компании-гиганты успешно с ними справляются, а небольшие китайские фирмы ещё отстают, их накопители менее технологичны, но дешевле.
Как это происходило, появился ли новый «убийца HDD» и надо ли бежать в магазины, меняя все HDD и SSD прошлых поколений на новые — расскажем ниже.
В процессе эволюции накопителей менялся способ хранения информации, техпроцесс становился всё более тонким, увеличивалась плотность записи как в единичную ячейку, так и на чип. В контроллерах совершенствовались алгоритмы, скорость записи приближалась к скорости чтения, а затем они стали быстро расти. Сегодня равномерность распределения обращений к ячейкам памяти NAND достигла некоего оптимума, надежность хранения информации многократно выросла и почти сравнялась с этим показателем у традиционных HDD. В процессе стремительного развития технологий, SSD стали выпускаться в самых разных форм-факторах.
Сейчас на рынке представлен огромный выбор накопителей от самых разных компаний, как первого эшелона А-брендов, так и от китайских фирм, которые постарались, чтобы SSD хватило на всех
Что нам предлагает технология QLC?
Количество битов, записанных в одной ячейке NAND, определяется тем, сколько уровней заряда находится в транзисторе с плавающим затвором. Чем их больше, тем больше битов может хранить один транзистор. В этом и заключается главное отличие технологии QLC от «предыдущей» TLC — количество битов в одной ячейке выросло с трёх до четырёх.
С увеличением количества уровней заряда очень сильно меняются характеристики накопителя: падает скорость доступа, уменьшается надежность хранения информации, но при этом возрастает ёмкость, а соотношение цена/объем становится привлекательнее для покупателей. Соответственно, чипы, построенные по технологии QLC, дешевле, чем предыдущее поколение TLC, в которых хранится по три бита в одной ячейке. В то же время QLC менее надежны, потому что вероятность выхода ячейки из строя существенно увеличивается с каждым новым уровнем.
В дополнение к сложностям одной отдельно взятой ячейки, возникают другие. Вследствие того, что чипы памяти делаются по технологии 3D NAND, они представляют собой трехмерные массивы ячеек, плотно упакованных один над другим, и ячейки в соседних «этажах» взаимно влияют друг на друга, портя жизнь своим соседям. К тому же современные чипы содержат больше слоев, чем изделия предыдущих поколений. Например, одна из технологий повышения плотности памяти подразумевает увеличение количества слоёв в кристалле с 48 до 64. В рамках другой технологии производится «спайка» двух 48-слойных кристаллов, доводя общее количество до 96, что налагает очень высокие требования к совмещению границ в этом «бутерброде», становится больше точек отказа и растёт доля брака. Несмотря на сложность процесса, такая технология получается выгоднее, чем пытаться наращивать слои в одном кристалле, потому что отбраковка при увеличении числа слоев растет нелинейно, и невысокий выход пригодных чипов обошелся бы слишком дорого. Справедливости ради надо заметить, что только компании высшего эшелона могут позволить себе такие разработки. Некоторые китайские фирмы, производящие чипы, так и не перешли на 64-слойные кристаллы, а технологией «склеивания» двух 48-слойных кристаллов пока обладают только такие гиганты электроники, как Intel и Micron.
3D NAND
Еще одна новинка, используемая в накопителях нового поколения А-брендов — перенос управляющей и питающей обвязки под массив ячеек. Благодаря этому уменьшилась площадь кристаллов и стало возможно размещать по четыре банка памяти там, где раньше помещалось только два. А это, в свою очередь, позволило распараллелить запросы и увеличить скорость работы с памятью. Кроме того, меньшая площадь кристаллов позволила увеличить емкость накопителей.
Возросшая плотность ячеек помогает бороться и с более быстрой деградацией памяти. С этой задачей разобрались «в лоб», с помощью еще большей избыточности массива ячеек.
Прототипы QLC-чипов показали прошлым летом, а первые обещания о выпуске SSD по новой технологии прозвучали в начале этого года. Летом практически все фирмы производящие накопители, сообщили о том, что они уже готовы к массовому выпуску, озвучили названия новых моделей, их цены и характеристики. Сейчас уже можно приобрести SSD с QLC-чипами. Большинство моделей выпускается в форм-факторе M.2 и 2.5", с емкостями 512 гигабайт, 1 и 2 терабайта.
Позиционирование QLC-накопителей
Для начала стоит честно признать, что накопители, созданные по новой технологии QLC, категорически не годятся для серьёзных/критических задач. И причиной тому целый ряд технических трудностей, которые приходится решать инженерам как крупных корпораций-изобретателей, так и китайских «последователей».
К примеру, на сайте Intel новые SSD предлагаются только в сегменте для домашних компьютеров среднего уровня. Особенно оправдано их применение в малопроизводительных нетбуках, в чьи задачи не входят игры или работа с базами данных, а стоимость, наоборот, очень важна. Подобные «печатные машинки» становятся всё более востребованы. Для работы в сегменте «энтерпрайз» предлагаются исключительно накопители с чипами MLC и TLC.
Если сравнивать характеристики брендовых SSD (дешёвые китайские рассматривать нет смысла, недорогие контроллеры убивают все характеристики), то средняя цена QLC-накопителей примерно на 20-30 % ниже MLC, при одинаковом форм-факторе и объёме.
Скорость доступа. Для модели с чипами QLC она составляет: на чтение до 1500 Мб/сек, на запись до 1000 Мб/сек. Для модели на чипах TLC — 3210 Мб/сек и 1625 Мб/сек соответственно. Скорость записи у QLC-накопителя в полтора раза ниже, а чтения — в два. Разница существенная, но для серфинга в инете и редактирования текстов — более чем достаточная.
TBW (Total Bytes Written). Критичный параметр, характеризующий ресурс SSD. Он говорит о том, какое максимальной количество терабайтов можно записать на накопитель. Чем TBW выше, тем более живучий диск и тем дольше он сможет проработать без сбоев. У всех моделей серии 760p ресурс составляет 288 TBW, а у 660p — всего 100 TBW. Практически трехкратная разница.
DWPD (Drive Writes Per Day). Этот показатель надёжности говорит о том, сколько раз в день можно перезаписать весь накопитель целиком, и рассчитывается по формуле:
DWPD = TBW / 0,512 * 365 * 5
где 0,512 — объем накопителя в терабайтах;
365 — количество дней в году;
5 — количество лет гарантии.
DWPD более объективен, потому что при расчете учитывается время, в течение которого производитель обязуется бесплатно решать проблемы с накопителем. Для QLC-модели DWPD равен 0,1, а для TLC-моделей — 0,32. Другими словами, в данном примере каждый день QLC может полностью перезаписывать 50 Гб — это его штатный режим работы. Учитывая, что при той же цене ёмкость QLC-накопителей выше MLC, то средний пользователь «печатной машинки с интернетом» вряд ли успеет выработать этот ресурс.
Эти два устройства — яркий пример того, как инженерам приходится решать множество технических сложностей, которые в QLC проявились ярче, чем в TLC. В частности, у QLC ниже скорость доступа на запись и чтение, ниже ресурс, выше коэффициент WAF (подробнее о нём — ниже). Давайте рассмотрим подробнее основные трудности и методы их решения.
Скорость доступа
Начнём с одной из наиболее заметных для пользователя особенностей QLC SSD — снижения скорости записи при заполнении кэша накопителя. Поскольку скорость доступа у QLC и так сравнительно невысокая, то производители стараются увеличить её с помощью кэширования. В SSD для этого используется собственный массив ячеек диска, которые переводятся в однобитный режим работы — SLC.
Существует несколько алгоритмов кэширования. Зачастую под кэш выделяется небольшая часть ёмкости самого накопителя — в среднем, от 2 до 16 Гб, в некоторых моделях может быть до нескольких десятков гигабайтов. Недостаток метода в том, что если при работе компьютера идет интенсивный обмен данными, то небольшой объем кэша может быстро заполнится и скорость чтения/записи резко упадет.
Более технологичные компании используют продвинутые контроллеры, которые умеют динамически переводить часть ячеек в быстрый режим SLC, в этом случае объем кэша зависит от общего объема накопителя и может достигать 10 %. В современных SSD используются оба метода: сравнительно небольшое количество статического кэша дополняется динамически выделяемым объемом, который получается в разы больше. Чем больше свободного места, тем больше размер кэша и тем сложнее исчерпать его объем. Логично, что более объемный накопитель имеет кэш большего размера, а значит в нем динамический кэш будет работать эффективнее.
Наглядная зависимость размера SLC-кэша от объема накопителя и свободного места на нем.
Ошибки чтения
Усложнение архитектуры QLC по сравнению с TLC привело и к росту количества ошибок чтения данных. Для их исправления потребовалось внедрить принудительное использование алгоритмов ECC (Error correction code, коды коррекции ошибок). С их помощью контроллер самостоятельно исправляет почти все ошибки чтения данных. И разработка эффективных алгоритмов коррекции — одна из сложнейших задач при создании QLC-накопителей, поскольку требуется не только обеспечить высокую эффективность коррекции (выражается в количестве исправленных битов на 1 Кб данных), но и как можно меньше обращаться к ячейкам памяти, чтобы экономить их ресурс. Для этого производители внедряют более производительные контроллеры, но главное — задействуют мощные научно-статистические аппараты для создания и совершенствования алгоритмов.
Ресурс
Особенности архитектуры QLC не только снижают надёжность, но и приводит к явлению «усиления записи» (Write amplification, WA). Хотя корректнее было бы говорить «умножение записи», однако вариант «усиление» пока что больше распространён в Рунете.
В чём суть WA? В SSD физически с ячейками выполняется гораздо больше операций чтения/записи, чем требуется для того объёма данных, непосредственно принятого от операционной системы. В отличие от традиционных HDD, у которых очень небольшой «квант» перезаписываемых данных, данные на SSD хранятся довольно большими «страницами», обычно по 4 КБ каждая. Также есть понятие «блок» — минимальное количество страниц, которые могут быть перезаписаны. Обычно блок содержит от 128 до 512 страниц.
Например, цикл перезаписи в SSD состоит из нескольких операций:
- переместить страницы из стираемого блока в место временного хранения,
- очистить место занимаемое блоком,
- переписать временный блок, добавив новые страницы,
- записать обновленный блок на старое место,
- очистить место, используемое для временного хранения.
Как видите, при этой операции происходит многократное чтение и стирание сравнительно больших объемов данных в нескольких разных областях накопителя, даже если операционная система хочет изменить всего несколько байтов. Это серьезно повышает износ ячеек. Кроме того, «лишние» операции чтения/записи заметно снижают пропускную способность флеш-памяти.
Степень «усиления записи» выражается коэффициентом WAF (Write amplification factor): отношение фактически перезаписываемого объёма данных к объёму, который требуется перезаписать. В идеале, когда не используется компрессия, WAF равен 1. Реальные же значения очень сильно зависят от разных факторов, например, от размера перезаписываемых блоков и алгоритмов используемых в контроллерах.
А поскольку ячейки QLC гораздо чувствительнее к количеству циклов перезаписи, то размер WAF стал намного важнее, чем для TLC и MLC.
Какие ещё факторы негативно влияют на WAF в QLC-накопителях?
- Алгоритм «сборки мусора», который ищет неравномерно заполненные блоки, которые одновременно содержат пустые и заполненные страницы, перезаписывая их таким образом, чтобы блоки содержали только пустые или только заполненные страницы, что, в дальнейшем, уменьшает количество операций, приводящих к WA.
- Wear leveling (Равномерное распределение нагрузки). Блоки, к которым система обращается часто, регулярно перемещаются в ячейки вместо блоков, которые менее востребованы. Это сделано для того, чтобы в накопителе все ячейки памяти изнашивались равномерно. Но в результате общий ресурс накопителя постепенно снижается, даже если вы используете его как архивное хранилище.
Вот пример «усиления записи» из-за работы механизмов wear leveling и сборки мусора:
- Также на величину WAF влияет работа механизма коррекции ошибок (ECC). Как уже говорилось, снизить его вклад в «умножение записи» можно с помощью совершенствования алгоритмов, в том числе LDPC.
- При достаточном количестве свободного места на SSD, некоторые контроллеры могут переводить часть ячеек NAND в режим с меньшим количеством уровней записи: из QLC в SLC. Это очень существенно ускоряет работу накопителя и повышает его надежность. Но, при уменьшении свободного места, ячейки снова будут перезаписываться в режиме с максимальным количеством уровней. Чем больше свободного места на SSD, тем быстрее и эффективнее он будет работать, при условии, что его контроллер достаточно продвинутый и поддерживает эту функцию. Если часть самых активно используемых ячеек держать в режиме SLC, это повышает общий WAF, но снижает износ.
С ростом WAF в QLC борются различными методами.
Например, с помощью over-provisioning (OP) — выделяя для служебных нужд часть объёма, который не доступен пользователю.
OP = (физическая ёмкость — доступная пользователю ёмкость) / доступная пользователю ёмкость
Чем больше выделяемая область, тем больше свободы у контроллера и быстрее работа его алгоритмов. Например, раньше под OP выделяли разницу между «реальным» и «маркетинговым» гигабайтом, то есть между 109 = 1 000 000 000 байтов и 230 = 1 073 741 824 байтов и, что равняется 7,37 % от общего объёма накопителя. Есть и ряд других ухищрений для выделения служебного пространства. Например современные контроллеры позволяют динамически задействовать под OP весь текущий свободный объём накопителя.
Примерная зависимость WAF от размера OP:
Позволяет снизить WAF и алгоритм разделения статических и динамических данных (Separating static and dynamic data). Контроллер вычисляет, какие данные перезаписываются часто, а какие преимущественно читаются, или вообще не изменяются, и соответствующим образом группирует блоки данных на диске.
К прочим инструментам уменьшения WAF в QLC-накопителях относятся методики последовательной записи (очень примерно это можно сравнить с привычной нам дефрагментацией HDD). Алгоритм определяет блоки, которые могут принадлежать одному большому файлу и не требуют обработки сборщиком мусора. Если операционная система даст команду на удаление или изменение этого файла, то его блоки будут стираться или перезаписываться целиком, не включаясь в цикл WA, что повышает скорость и меньше изнашивает ячейки памяти. Наконец, свой вклад в борьбу с WA вносит компрессия данных перед записью и дедупликация.
Как вы уже поняли, надёжность и ресурс QLC-накопителей зависит далеко не только от используемых чипов памяти, но и от производительности контроллера, а главное — от продвинутости всевозможных алгоритмов, заложенных в контроллер. Многие компании, даже крупные, покупают контроллеры у других фирм, специализирующихся на их выпуске. Небольшие китайские фирмы пользуются недорогими и простыми контроллерами прошлых поколений, руководствуясь не качеством и новизной алгоритмов, а ценой. Крупные компании не экономят на железе для своих SSD и выбирают контроллеры, обеспечивающие накопителю долгую жизнь и бо̒льшую скорость работы. Лидеры среди производителей контроллеров для SSD постоянно меняются. А ведь кроме сложных контроллеров огромную роль играют и алгоритмы прошивок, которые крупные производители разрабатывают самостоятельно, не доверяя это важное дело сторонним компаниям.
Выводы
Главное преимущество QLC перед накопителями на TLC- и MLC-чипах заключается в том, что в тот же физический объём удалось поместить ещё больше памяти. Так что QLC не вытеснят с рынка предыдущие технологии, и уж тем более не станут конкурентами для HDD.
Разница между QLC и TLC по скорости будет заметна при запуске тяжелых программ и при интенсивном обмене данными. Но обычный пользователь этого может не заметить, потому что в компьютерах того уровня, для которых рекомендуются QLC-накопители, программа дольше ожидает действий пользователя, чем работает с данными.
Можно смело сказать, что ниша недорогих накопителей для компьютеров небольшой производительности, когда не имеет смысла переплачивать за повышенную надежность или максимальные скорости записи и чтения, успешно занята. В таких компьютерах QLC SSD может быть единственным накопителем, на котором будут установлены система и необходимые программы, а также храниться данные пользователя. А в энтерпрайзе — революции не произошло, здесь по прежнему пока будут отдавать предпочтение более надёжным TLC и медленным, но неприхотливым HDD.
Однако технологии не стоят на месте, уже в этом году производители обещают начать переход на техпроцесс в 7 нм, а в перспективе, в 2021 году и позже — грядут техпроцессы 5 и 3 нм. Совершенствуются алгоритмы контроллеров, некоторые фирмы обещают «умные» SSD-накопители, которые будут в несколько раз быстрее, при некоторых специфичных сценариях использования, планируется развитие технологий 3D NAND.
Так что, подождем пару лет и посмотрим, что ещё смогут нам предложить производители.
Для получения дополнительной информации о продукции Kingston обращайтесь на официальный сайт компании.
Автор: Kingston_Technology