Блеск и нищета SSD-дисков

Ну, раз начался разговор про отечественные SSD-диски от GSNanoTech, давайте поговорим о том, какая ситуация вообще сложилась в отрасли, делающей эти накопители. Поскольку накопители GSNanoTech ничего отечественного, кроме сборки, не содержат, и построены на бюджетной архитектуре с контроллерами Silicon Motion — они не свободны от всё тех же проблем, которые мучают всю отрасль.
В наше время делать SSD-накопители околоплинтусного уровня умеют далеко не только мелкие малоизвестные компании (коих в мире множество) — подобная продукция встречается и в ассортименте крупных игроков рынка, за исключением разве что Intel и Samsung. Минимальный уровень в исполнении этих двух компаний (QLC-накопители линеек Intel SSD 660p/665p и Samsung 860 Qvo) в рамках всего рынка минимальным не является, поскольку используются в них относительно мощные контроллеры — вплоть до поддерживающих NVMe.
А вот самый низ бюджетного сегмента — это SATA-контроллеры Maxio MAS0902A, Phison S11, Realtek RL6468 или Silicon Motion SM2258XT и SM2259XT. И с ними всё заранее предсказуемо. С первыми возможны варианты в зависимости от памяти и прошивки, третий — редок (оно и к лучшему), что же касается двух последних от Silicon Motion, то они предсказуемо унылы в любых конфигурациях, потому что это так называемые DRAM-less контроллеры.
Да-да — у них вообще нет буферного кэша на внешней RAM-памяти как такового. Есть только маленький внутренний буфер. Чтобы обойтись без DRAM-памяти (что не только удешевляет накопитель, но и решает проблему повреждения данных при неожиданном пропадании питания), китайцы придумали механизм SLC-кэширования — когда все данные пишутся прямо во флэш-память, но в «быстром» SLC-режиме этой памяти, то есть когда в каждую ячейку пишется 1 бит данных, вместо нормального режима, предусматривающего запись в ячейку 2 или 3 бит. Разумеется, в таком режиме емкость получается кратно меньше номинальной — но зато быстро.
Это такая эмуляция кэша, причем под неё можно задействовать практически всё свободное место во флэше. При запасе такового можно быстро записать достаточно большие количества данных: от четверти до половины нормальной емкости свободных ячеек (в зависимости от типа памяти). При этом данные уже во флэше и никуда не пропадут, даже если питание отключится.
Но когда «запас» таких пустых ячеек кончается (а при нормальном обычном для юзера использовании SSD скорее полон, чем пуст) — этот кэш приходится и чистить, и новые данные как-то принимать… В результате скорость записи падает до неприличных значений.
Для Phison S11, Maxio или «старших» модификаций контроллеров Silicon Motion возможны разные варианты поведения — определяемые конкретной прошивкой и количеством внешней памяти. Но DRAM-less контроллеры Silicon Motion в любом случае работают только в таком вот режиме.
Тут нельзя сказать, что такой режим работы совсем уж бесполезен — дело в том, что при работе накопителя в качестве «системного», особенно если его стабильно держать полупустым, всё работает прекрасно: запись больших объемов данных на системник требуется редко, и вообще — как бы не большинство операций записи там это временные файлы, активно создаваемые системой и прикладными программами. Создаются, раз-другой читаются, и удаляются — их вообще не нужно хранить долговременно. Да и эмулированный во флэше кэш в таких условиях даже «чистить» почти никогда специально не требуется — место само освобождается при удалении временных файлов.
В общем, львиная доля работы системного накопителя — идет именно с SLC-буфером, на оптимизацию которой и брошены все силы разработчиков. Тем более что бюджетные конфигурации SSD нередко и читают информацию из «основного» массива медленнее, чем из кэша.
В итоге, правда, иногда получается нечто, именуемое частью пользователей «оптимизацией под бенчмарки». Поскольку у популярного CrystalDiskMark (да и многих других тестов диска) логика работы аналогичная (создаем рабочий файл при запуске, прогоняем тесты в его пределах, удаляем), «померить» им в современных условиях можно только скорость кэша (соответственно на DRAM-less накопителях — скорость в SLC режиме).
Но это во многом случайный (хотя и приятный для маркетолухов) эффект — затевалось-то все совсем с другими целями, нежели радость «охотников за попугаями».
Не будем голословными — вот как работает этот механизм:
Это накопитель SSD AMD Radeon R5 на 960 гигабайт. Ценник его отнюдь не гуманный. Но здесь — всё тот же DRAM-less контроллер Silicon Motion SM2258XT и дешевая 32-слойная 3D TLC NAND с кристаллами по 384 Гбит.
И что же мы видим? Мы видим, что первые 22% свободной емкости (примерно 210 гигабайт) накопитель бодро записывает на полной скорости 440 мегабайт в секунду, потом скорость записи валится до 240 мегабайт в секунду, а с 44% емкости (примерно 420 гигабайт) начинается ЗАДНИЦА — скорость записи падает драматически, в минимуме составляя всего 20 мегабайт в секунду (что хуже, чем у многих старых HDD).
В общей сложности на запись 960 ГБ ушло более четырех часов — то есть скорость записи составила примерно 63 МБ/с в среднем. Это печально, не правда ли?
Это картина на ПУСТОМ накопителе. То же самое происходит и на частично заполненном — просто проценты откладываются от оставшейся свободной емкости.
Если вы это знаете — вы, как умная Маша, покупаете для системы китайский SSD-накопитель на 240 Gb, и отдельно для свопа (если у вас своп не больше 24 Gb) — столь же китайский SSD-накопитель на 120 Gb. Системный диск держите заполненным не более чем на 40%. И ваш комп будет просто летать — за сущие копейки. И даже деградация диска от свопа вас не сильно напряжет — когда он начнет садиться, 120-гиговые SSD будут стоить вообще копейки, при этом заменить его можно свободно, не опасаясь утраты данных. А системный диск, освобожденный от свопа (да и TMP-папки можно тоже перекинуть на «убойный» диск со свопом) проживет долго, и будет радовать вас скоростью загрузки системы.
Впрочем, бывают диски, которые себя ведут куда более отвратительно, чем то, что изображено на графике. Вот товарищ пишет:
В свое время купил Crucial bx500 на 480гб. Заметил, что при попытке записать больше 6-7гб на него, скорость падает почти до нуля! Стал разбиратся, температура переваливает за 70+ градусов! Корпус пластик. Ну, думаю, тротлинг. Купил железный корпус с Али. Теперь температуры накопителя не растут выше 40, а тормоза так и остались. Дико разочарован. Не советую никому.
Поэтому, мои дорогие друзья, всё нуждается в тестировании. Даже совершенно одинаковые внешне накопители в процессе производства меняют свои потроха — я сам столкнулся с тем, что одни и те же модели шли с TLC памятью и имели одни характеристики, а потом бац — и пошли с QLC памятью, и характеристики сильно просели.
Снова вот вам иллюстрация — SSD Crucial BX500 на 960Gb и 1000Gb. Они интересны тем, что здесь переход на новые микросхемы большей плотности документирован — всё-таки Crucial это бренд концерна Micron, они и чипы туда свои ставят (если вы увидите там SpecTek — это дочернее предприятие Micron, традиционно специализирующееся на микросхемах «второй свежести», они фасуют в корпуса те же самые нарезанные пластины Micron). И каков же результат?
Это старый накопитель 960 гигов на контроллере SM2258XT и 64-слойной памяти 3D TLC NAND с кристаллами по 256 Гбит. Как видите — всё довольно прилично, он на 25% быстрее ранее помянутого AMD при записи всего объема, и скорость деградирует начиная лишь с 38% объема.
А вот новый накопитель на 96-слойной памяти QLC NAND с кристаллами по 512 Гбит — с такой памятью SM2258XT работать не умеет, поэтому там поставили более свежий SM2259XT. Казалось бы — всё должно стать лучше. Ан хренушки вам:
Какая же редкостная гадость эта ваша заливная рыба! А ведь это Микрон. Представьте себе, что творится у других производителей.
Впрочем, иногда связка контроллера SM2259XT и QLC NAND показывает неожиданно хорошие результаты:
Для тех, кто не понял: это случай записи очень большого файла (32 гига) на сильно забитый диск (свободны 10% емкости диска, но всё же более 3 размеров записываемого файла). Вот тут начинают сильно сказываться алгоритмы сборки мусора — и результаты могут оказаться сокрушительными даже для ряда топовых моделей, у которых железо отличное, а вот софт написан на отцепись.
Аппаратно новая платформа Crucial полностью аналогична Goldenfir (типичный представитель самых дешевых китайских SSD с АлиЭкспресса) и медленнее старой — но разница в софте дает вот такую разницу результатов.
Забавно, что для QLC-моделей компания Микрон предлагает и более мягкие условия гарантии: по времени это все те же три года, а вот записывать разрешено до появления сбоев 240 ТБ на накопитель 960 ГБ (TLC) или 360 ТБ на накопитель 1000 ГБ (QLC). Естественно, такое увеличение TBW никакими техническими причинами не обусловлено (так что в очередной раз хочется передать привет пытающимся из этого параметра извлечь какую-то полезную информацию) — просто Micron нужно было сделать новые более дешевые по себестоимости (при этом продающиеся несколько дороже старых) накопители более привлекательными для покупателей. И лохи — купились, ахахахаха. Хотя реальная наработка на отказ у новых накопителей будет хуже, чем у старых.
Глядя на такие выкрутасы в сегменте относительно бюджетных SSD, может возникнуть ощущение, что твердотельные накопители со временем становятся всё более медленными. На деле, конечно, всё немного не так. В топовом сегменте вроде бы постоянно растут скорости и емкости за те же деньги. Массовый сегмент аналогичным же образом мигрирует с SATA на NVMe — что тоже приводит к приросту производительности. Активно развивается сегмент «недорогого NVMe» — когда-то его не было вовсе, а сейчас можно подыскать и что-то вменяемо-бюджетное. Без рекордов по производительности — но на уровне выше даже некогда топовых SATA-устройств.
Но на самом деле всё не совсем так, как кажется по бравурным проплаченным топовыми брендами обзорам «новинок» SSD. Некоторое количество моделей среднего и даже высокого уровня есть — но список их практически не обновляется. Бюджетка же да, постоянно «модернизируется» — но исключительно в одном направлении: дешевле, еще дешевле, еще дешевле дешевого. С использованием всех методов снижения цен.
При том, что контроллеры уже дальше резать некуда (в основном и так всеми применяются простейшие одноядерные безбуферные модели — четырех- или даже двухканальные), остается только играть с памятью. В чем «помогли» производители последней — начав активное внедрение QLC NAND. Глобально таковая нужна — кое-как справляется со многими нагрузками, а стоит дешевле.
Но полной универсальной заменой TLC во всех сферах применения накопителей память QLC NAND пока не является даже по мнению разработчиков — однако ее суют повсюду, потому что дешевле.
Основная проблема SSD-накопителей с Aliexpress — результат заказа заранее непредсказуемый: что в данный момент будет на складе, то и пришлют. Поэтому даже на отзывы покупателей нет большого смысла ориентироваться — к моменту, когда они появятся, склад обновится. Так что следующие заказчики получат что-то другое. Может быть, и то же самое, может лучше, а может и хуже. Что будет на складе — то и будет: чистое везение.
Примерно то же и покупкой SSD в России — только склад тут обновляется медленнее, и можно успеть после первых отзывов купить то же самое.
С чтением данных хорошо справляются любые современные SSD — по крайней мере, это верно для моделей высокой емкости, у которых число микросхем заведомо равно или больше числа каналов использованного контроллера. Обычно число каналов — 3 или 4, из этого и надо исходить (не забывая, впрочем, того, что существуют микросхемы флэш-памяти, у которых в одном корпусе разварено два кристалла). Обратить внимание стоит только на один нюанс: если в среднем сегменте и выше скорость в многопоточном режиме увеличивается, то у бюджетных продуктов она может даже и упасть. Не поняли? Это значит, что накопители большей емкости могут оказаться МЕДЛЕННЕЕ, чем накопители меньшей емкости.
Причина этого — очень проста: она называется «таблица трансляции адресов ячеек». Чтобы с ней быстро работать — контроллеру надо считать ее с флэша во внутреннюю RAM память. У дорогих дисков с внешней DRAM таблица целиком помещается в DRAM всегда, даже для самых больших дисков. А вот у DRAM-less контроллеров таблицу приходится хранить во внутренней памяти контроллера, и при большом объеме диска этой памяти не хватает — таблицу приходится читать кусками с флэша, и это тормозит работу.
Короче, вот вам большая диаграмма оверальных результатов кучи SSD — тут и бюджетка, и небюджетка:
Самсунги хороши, да? А теперь сравните их цены с Гольденфиром — и вкурите, что разница в производительности (4200 против 5500-5900 попугаев) совсем не такая существенная, чтобы за нее столько переплачивать. Более того — описанная выше связка из двух SSD (отдельно под систему и отдельно под своп и временные файлы) будет работать заведомо быстрее одного Самсунга, да еще и надежнее, при этом на китайских дисках она дешевле самсунга сходной емкости.
Другой вопрос, что в ноутбуках как правило не предусмотрена возможность поставить второй диск. Ну что делать — жизнь это боль.
Кроме того, помните еще вот какой нюанс: Винда научилась чистить SSD (выполнять операцию TRIM) в фоне только начиная с 7 версии, а внешние SSD (то есть висящие на USB-интерфейсе) — только с 8 версии. Это значит, что SSD не получают от файловой системы своевременного сигнала на освобождение ячеек памяти, и не могут их обнулить, чтобы использовать под SLC-кэш — хотя файлы, их занимавшие, уже давно стёрты. Это вызывает деградацию производительности SSD по мере работы, особенно заметную на DRAM-less моделях. Любителям старой винды на заметку.
PS. Все графики и технические данные взяты из статьи Обзор четырех бюджетных SSD на контроллерах Silicon Motion. Редкий случай грамотного технического исследования в нынешнем мутном потоке хохлообзоров за три копейки.
PPS. У отечественных SSD GSNanoTech внутри вот что:
Как видим — контроллер там Silicon Motion SM2246EN, довольно старая модель. Это контроллер гораздо более старый, чем дешевые SM2259XT — но он позволяет работать с внешним буфером DRAM, хотя максимальный объем буфера и ограничен 1024 мегабайта. 4 канала снаружи, а внутри одноядерный 32-битный RISC-процессор Synopsys DesignWare ARC. На таком контроллере собирались старые SSD Transcend SSD370, ADATA Premier SP610, PNY Optima и Corsair Force LX.
Вот процессор там как раз довольно дурацкий — вместо привычной ARM-архитектуры там использована архитектура ARC с перенастройкой ядра, что в теории позволяло получать улучшение производительности под конкретные задачи, а по факту лишь создавало геморой.
Почему выбрали его — мне в целом понятно, в теории Silicon Motion поставлял этот контроллер с библиотекой AES-шифрования с 256-битным ключом, причём совместимое со спецификацией TCG Opal 2.0. Из дешевых решений это единственное стойкое криптование «из коробки». Оно работает криво, но хоть как-то.
С другой стороны платы у них вот что:
Видны две микросхемы DRAM Samsung K4B4G1646E — по 4 гигабита каждая, итого те самые максимальные 1024 мегабайта.
На заводе честно говорят, что поставщиками флеш-памяти для российских SSD выступают Micron, Kioxia (ранее – Toshiba Memory) или SK Hynix, но она закупается в виде полуфабрикатов – кремниевых пластин. Резку и отбраковку русские делают сами.
Вот эти вот 16 микросхем Flash-памяти обеспечивают максимальную емкость накопителя в 480 гигабайт. Да-да, потому что контроллер-то древний как гогно мамонта, и память эта — MLC. Даже не TLC. С другой он работать не умеет. Такие SSD пропали из продажи года 4 тому назад, все уже и забыли, что такие бывают.
И да — в текущем дизайне, несмотря на гигабайт буферной памяти, никакой защиты от сбоев питания не реализовано. Что легко может окирпичить весь SSD. Ну а кому теперь легко?
Зато эти накопители обеспечивают одинаковую скорость записи на всём объеме накопителя, и эта скорость около 440 мегабайт в секунду. Причем она почти не зависит от заполнения диска. Для военных приложений это может быть критичным.
Лучше бы про SSCиськи.
Поц держЫваю.
Да норм. Будет бесперебой и в бой.
Год назад приобрел М.2 для домашнего компа от Corsair с TWB 800 для домашнего компа.
Почти в то же время приобрел безвестный ssd с Ali на 240 Гб.
А летом в качестве модернизации на рабочий комп приобрели локально SSD максимальной скоростью 120. Видимо не все ssd одинаково полезны.
Вот такой.
То, что показывает кристальный марк — это так, годно только для предъявления претензий китайцам, с реальной производительностью и даже со здравым смыслом это уже давно не коррелирует. Вот тебе пример — SSD заполненный на 66% и висящий на USB3.0 во внешнем боксе ORICO.

Смешные цифры, правда же?
А вот тот же кристальный мрак, и реальный SSD на моей рабочей станции, на котором стоит система — при этом тесты запущены не на чистом компе, а прямо во время работы, с кучей работающих приложений.

Это китайский KingDian на 240 гигов на старой платформе S280. Заполнение 30%. В менее заполненном виде (18%) на чистом компе без фоновых задач он показывал вот такие цифры:

Деградация производительности заметна — но она куда меньше, чем можно было бы ожидать от дешевого SSD. Это потому, что в старой платформе стоит 8 микросхем Hynix еще как бы не MLC. И контроллер Silicon Motion sm2258 там используется, внезапно, не в DRAM-less режиме, а рядом с ним торчит хорошо заметная микросхема DRAM-памяти. Кэш-память у серии KingDian S280 составляет 128 мегабайт на каждые 120 гигов емкости, то есть у этого SSD она — 256 мегабайт. Собственно, это в основном даже не кэш, а память под таблицу динамической трансляции адресов.
К сожалению, теперь ты в таком виде эту серию уже не купишь.
На рабочем ноуте юзаю халявный ssd Samsung на 128гб , на домашний , раззорился на ssd Kingston SA400S37960G на 960 гб. Samsung пользую, уже года четыре , домашний Kingston второй год. Пока полет везде норм , нареканий нет.
SSD подобен кирпичу — летит всегда строго по параболе.
Т.е. вначале — хорошо, потом — все ещё хорошо, затем — опять-таки хорошо, затем — чуть тормозит, а потом — хрясь…
Ну надо же , как глыбокомысленно. Прям философ , ёпта…