ВАЖНАЯ ИНФОРМАЦМЯ! Не проводите никаких действий с дисками если не знакомы со спецификой программного обеспечения, не уверенны в своих действиях или не являетесь специалистом в области ИТ технологий. Подобные действия могут привести к потери ВАШИХ данных!!! Будте внимательны, читайте мануалы к программному обеспечению
Ты купил современный SSD и довольный устанавливаешь его в свой ПК. Сразу же, на высокой скорости, начинаешь переносить на него данные с других накопителей. И вдруг в какой-то момент скорость записи на SSD падает в несколько раз. Что произошло? Почему падает скорость записи? Все дело в SLC-кэше.
Сегодня существуют твердотельные накопители на четырех типах памяти:
SLC (Single Level Cell) — один бит на ячейку памяти. Самый первый тип памяти, используемый в SSD. SLC — самый быстрый, самый долговечный тип энергонезависимой NAND памяти. За счет того, что в ячейке хранится всего 1 бит данных, запись в ячейку происходит очень быстро. Ресурс жизни ячейки SLC — примерно 100 000 циклов перезаписи. Из-за высокой стоимости производства SSD накопители на основе SLC уже не встретить в продаже. Тем более SLC накопители были только с интерфейсом SATA и небольшого объема.
MLC (Multi Level Cell) — несколько бит на ячейку памяти. По идее, MLC можно назвать любую память, которая хранит больше одного бита. Но обычно под MLC памятью подразумевают ячейки, которые хранят четко два бита данных. Хотя. По сравнению с SLC, доступ происходит медленнее, и в процессе работы ячейки изнашиваются быстрее. Ресурс жизни ячейки MLC — примерно 5000 циклов перезаписи. Именно с появлением накопителей на MLC чипах памяти, SSD стали доступны простым пользователям. Сегодня SSD накопителей, построенных на MLC чипах, почти не осталось из-за высокой цены, которая не может конкурировать с TLC накопителями.
Samsung — единственная компания, которая продолжает называть всю свою память MLC, лишь добавляя количество бит на ячейку. И часто это вводит покупателей в заблуждение. Например, 3-bit MLC, хотя по факту это TLC.
TLC (Triple Level Cell) — три бита на ячейку памяти. Втрое увеличенная плотность ячейки по сравнению с SLC позволила вмещать еще больше данных, но при этом значительно снизила скорость записи в такую ячейку. Из-за большей плотности данных значительно уменьшился и ресурс циклов записи на ячейку — примерно 1000–3000. На момент написания статьи это самый распространенный типа NAND памяти в SSD-накопителях.
QLC (Quad Level Cell) — четыре бита на ячейку памяти. Продолжение увеличения плотности записи в ячейку NAND памяти позволило произвести новый тип памяти. Но при этом скорость записи в ячейку QLC стала самой низкой среди всех типов NAND памяти. Следом уменьшился и ресурс циклов перезаписи ячейки, QLC которой меньше 1000.
Сегодня самыми распространенным типом памяти в твердотельных накопителях является усовершенствованный 3D NAND TLC. Невысокая цена производства, высокая плотность данных, современные контроллеры и использование технологий SLC-кэширования позволили производителям значительно повысить скорость и ресурс TLC накопителей. Но все ли так хорошо, как кажется на первый взгляд?
Что такое SLC-кэш, и как он реализован
Чтение и запись данных на SSD-накопитель происходит по битам. Запись в ячейки SLC памяти самая быстрая, так как одна ячейка содержит лишь один бит. С TLC-накопителями сложнее. Чтобы записать одну ячейку, необходимо несколько раз считать с нее данные, для того чтобы далее их правильно записать. А дополнительные операции чтения с ячейкой значительно увеличивают время.
И для того, чтобы повысить скорость записи в TLC ячейки, производители прибегли к простой хитрости. В начале записи контроллер сохраняет данные по одному биту на ячейку, что называется режимом SLC. Это значительно увеличивает скорость записи. Продолжая запись, контроллер в фоновом режим уплотняет записанные данные в ячейку, преобразуя ее в трехбитную. Но такая быстрая запись не может быть постоянной. Объем накопителя все же рассчитывается из трех бит на ячейку. Следовательно, после заполнения SLC-кэша, скорость падает и достаточно сильно. SLC-кэш бывает реализован разными способами:
Ограниченная выделенная область SSD-диска.
На SSD с контроллером Phison PS3111-S11 выделяется небольшой объем диска (SLC-кэш) — как правило, это 4–6 ГБ, куда данные пишутся с максимальной скоростью. Если вы решите разом записать данные, объем которых больше, чем эта область, то вы увидите сильное падение скорости после переполнения SLC-кэша. Пример ограниченного SLC-кэша на Patriot P210 256GB (P210S256G25).
Часть свободного объема накопителя.
В таком режиме накопитель переводит все доступные ячейки памяти в однобитовый режим (SLC-кэш) и записывает данные до тех пор, пока каждая ячейка не будет записана. Так как ячейка TLC NAND памяти имеет трехбитовый режим, то максимальная скорость в режиме SLC-кэша будет на протяжении одной третьей от свободного объема накопителя. После того, как накопитель заполнил все ячейки, происходит перевод ячеек в TLC (трехбитовый) режим. За счет перевода ячеек в медленный режим и дополнительного контроля записи, скорость сильно снижается. Но, после записи в SLC, накопитель может перейти в MLC режим и только после этого — в TLC. Это можно увидеть по нескольким ступеням снижения скорости. Пример такого SLC-кэша на Goodram CL100 gen.2 120GB (SSDPR-CL100-120-G2)
Следовательно, на QLC накопителях в таком режиме максимальная скорость будет на четверть свободного объема накопителя или меньше — все зависит от реализации SLC-кэша. Пример SLC-кэша на Smartbuy Nitro 480GB (SBSSD-480GQ-MX902-25S3). Объем SLC-кэша на QLC накопителе составил всего 23 % от общего свободного объема SSD.
Большинство пользователей не столкнутся с заполнением SLC-кэша при работе с SSD накопителем и вот почему:
Для того чтобы заполнить SLC-кэш накопителя, необходимо записывать на него большой объем данных с другого SSD-накопителя. А пока у большинства пользователей в ПК используется всего один SSD и запись больших объемов данных бывает редко.
При скачивании данных из интернета, пропускная способность канала 100 Мбит не позволит SLC-кэшу переполнится.
При установке и распаковке игр на накопитель, больше задействован процессор и оперативная память, запись на накопитель происходит нелинейно.
При скачивании данных с жесткого диска, скорость которых меньше SSD в несколько раз, SLC-кэш в большинстве случаев не успеет заполниться, чтобы снизить скорость записи
Просмотр видео высокой четкости тоже никак не скажется на скорости вашего накопителя, несмотря на кэширование браузера.
Как определить объем SLC-кэша?
SLC-кэш на разных тестах и при разных условиях может показывать разные значения. Все зависит от того, как в данный момент используется накопитель. Поэтому все тесты лучше проводить на абсолютно новом пустом SSD накопителе, при этом не используя его в качестве системного. При установке операционной системы на SSD, даже в покое происходят операции чтения и записи, а следовательно результат будет не совсем точный.
Подготовка SSD накопителя
Если накопитель уже используется как дополнительный, лучше его очистить или отформатировать. Дальше необходимо выполнить команду TRIM через оптимизацию накопителя средствами Windows. Для этого переходим в «Этот компьютер» («Мой компьютер»).
Правой кнопкой мыши нажимаем на наш SSD и выбираем Свойства.
Переходим во вкладку Сервис и нажимаем кнопку Оптимизировать.
После чего выбираем снова наш SSD накопитель и наживаем кнопку Оптимизировать.
После данной операции необходимо дать накопитель «отдохнуть» примерно 15 минут и не выполнять с ним никаких операций.
Для определения SLC-кэша нам понадобятся программы, которые могут непрерывно линейно записывать данные на накопитель. Это можно сделать утилитой AIDA64, в разделе Сервис → Тест диска.
Далее в новом окне AIDA64 Disk Benchmark, в первом выпадающем списке меню выбираем Тест линейной записи (Linear Write), а затем накопитель, который необходимо протестировать.
ВАЖНО! Сразу после начала этого теста все данные с накопителя будут удалены!
Не настолько точный, как тесты утилитами, но тоже наглядный и очень понятный. Для этого нам понадобится второй SSD-накопитель, назовем его «исходный». (исходный SSD накопитель может быть даже системным). Для максимальной точности скорость чтения Исходного SSD должна быть выше, чем скорость записи тестового SSD, на котором будем определять объем SLC-кэша. На исходном накопителе создаем папку с объемными видеофайлами. Даже если у вас есть один видеофайл, просто копируем его несколько раз. Объем папки будет зависеть от объема тестового SSD — папка должна быть кратна 100 ГБ, чтобы можно было легко увидеть объем SLC-кэша. Также объем папки должен быть больше, чем треть общего объема тестового SSD накопителя, чтобы на примере одного копирования мы смогли все увидеть. Не забываем подготовить SSD по инструкции выше. Давайте скопируем папку объемом 100 Гб на SSD накопитель ADATA Falcon 256GB (AFALCON-256G-C) и посмотрим на SLC-кэш.
По графику объем SLC-кэша составил примерно 85 Гб. А вот скорость до заполнения SLC-кэша и после составили 1,05 ГБ/сек и 123 МБ/сек соответственно.
Как сильно скорость SSD накопителя может падать после заполнения SLC-кэша?
Ответить на это вопрос однозначно для всех накопителей не получится. И тому есть несколько причин:
Контроллер SSD-накопителя. Чем производительнее контроллер, тем выше будет скорость как до заполнения SLC-кэша, так и после.
Наличие DRAM-буфера на накопителе. В этом буфере находится таблица с адресами данных в ячейках NAND памяти SSD. А это позволяет не считывать данные лишний раз для проверки. Поэтому при наличии DRAM-буфера скорости накопителя выше как до заполнения SLC-кэша, так и после.
Тип NAND памяти, структура ячеек и количество слоев также влияют на скорость.
Файлы разного объема и их количество влияют на скорость записи, а следовательно — скорость заполнения SLC-кэша. Копируя на SSD много мелких файлов, скорость записи будет низкая, и заполняться SLC-кэш будет медленнее.
Перегрев и последующий троттлинг контроллера может снизить скорость NVMe SSD накопителя до заполнения SLC-кэша.
Вот пример недорого SATA SSD накопителя Patriot P210 128GB (P210S128G25)
Скорость после заполнения SLC-кэша падает до 71,5 МБ/сек. И это скорости прямой записи в TLC режиме.
Теперь давайте посмотрим, на что способны топовые NVMe SSD накопители на примере Samsung 970 EVO Plus 1TB (MZ-V7S1T0BW).
Даже после заполнения SLC-кэша скорости падают не значительно и остаются высокими до полного заполнения SSD-накопителя.
Если мы посмотрим на Smartbuy Nitro 240GB с QLC чипами памяти, то тут сразу видно еще более сильное снижение скорости до 22 МБ/сек. Даже не нужно ждать окончания теста — по графику все и так понятно.
Без SLC-кэширования не обходится ни один современный SSD-накопитель. Причем не важно, на каком типе памяти он построен — TLC или QLC. Благодаря SLC-кэшу мы имеем такие высокие скорости. И пусть на разных накопителях разный объем кэша, при обычном использовании мы никогда не увидим значительное снижение скорости, так как просто не сможем заполнить SLC-кэш. Конечно, если вы работаете с видеофайлами, особенно с разрешением 4К, и вам постоянно приходится перемещать их, например при видеомонтаже, то не стоит покупать дешевые SSD накопители. Лучше заранее посмотреть тесты и обзоры и выбрать оптимальный вариант. В большинстве же случаев SLC-кэш так и останется чем-то неизвестным.