Рынок твердотельных накопителей пресыщен; даже у крупных производителей маржа невелика, а мелкие OEM ради экономии нескольких долларов вынуждены идти на разнообразные уловки, удешевляющие производство. Эта статья — своеобразное продолжение темы не все SSD одинаково полезны, но теперь — с практическим опытом и результатами испытаний.
В режиме чтения даже самые дешёвые накопители, если они исправны, показывают себя замечательно. Если такой диск попал в вашу лабораторию в качестве источника данных, каких-либо проблем со скоростью ожидать не следует — но, повторюсь, лишь при условии, что накопитель полностью исправен. Более того, недорогие накопители часто оснащаются слабыми контроллерами, энергопотребление которых невелико — а, следовательно, не стоит опасаться и перегрева.
Всё меняется, как только вы попытаетесь использовать дешёвый накопитель в качестве приёмника данных — то есть, в режиме записи данных. К сожалению, практически все безымянные накопители, проходившие через нашу лабораторию, обладали следующим набором свойств:
Сильная сторона твердотельных накопителей — одновременная (параллельная) запись по нескольким каналам. Чем больше каналов, тем быстрее запись; увеличение их числа отлично помогает преодолеть врождённую проблему NAND-памяти — низкую скорость записи в ячейки. В дешёвые же накопители часто устанавливают бюджетные, устаревшие или урезанные версии контроллеров. Число каналов параллельного доступа к NAND в таких контроллерах соответствует их невеликим вычислительным способностям. Такие контроллеры позволяют достаточно быстро записывать данные напрямую в ячейки, особенно в режиме псевдо-SLC, но захлёбываются в режиме «свёртки» (о ней подробно рассказано в статье Лаборатория Элкомсофт: SSD-накопители становятся медленнее со временем).
Обратите внимание на первую ступеньку: это момент, когда псевдо-SLC кэш уже заполнен, но на диске ещё остаются свободные TLC или QLC ячейки. Вторая ступенька — момент, когда свободные TLC/QLC ячейки заканчиваются, и для того, чтобы продолжить запись, контроллер начинает свёртку. Во время свёртки контроллер читает данные из pSLC-кэша, записывает их в основную область NAND (TLC), очищает ячейку pSLC-кэша и переключает её из режима pSLC в TLC или QLC (в зависимости от модели накопителя). Этот процесс достаточно медленный даже на самых производительных накопителях, а слабые контроллеры делают его ещё медленнее.
Насколько медленнее? Мы протестировали накопитель ORICO Y20M объёмом 2ТБ, получив следующий график (упрощённо):
Запись первых 30% данных — это порядка 668 ГБ — осуществлялась в псевдо-SLC кэш, который занимает весь свободный объём накопителя; скорость записи была близка к максимальной для протокола SATA, порядка 448-490 МБ/с. Второй ступеньки — записи напрямую в ячейки TLC — мы не видим: свободных ячеек нет, контроллер сразу переходит в режим «свёртки». В этом режиме скорость записи падает практически на порядок: цифры флуктуировали между 61-70 МБ/с. В результате полностью заполнить накопитель нам удалось за 6 часов 48 минут, а средняя скорость записи на этот диск с учётом времени, потраченного на «свёртку», составила порядка 85 МБ/с. Но и на этом неприятности не заканчиваются: если теперь данные удалить, то накопитель вновь начнёт очищать ячейки, переводя память в режим псевдо-SLC, что также занимает порядка получаса, в течение которых накопитель остаётся горячим.
А что, если за этот диск записывать данные по частям, давая ему время обработать и уплотнить данные в фоновом режиме — как, видимо, и предполагает производитель? Мы смогли протестировать и этот режим, отслеживая изменения параметров SMART F9 (Total GB written to NAND) и FA (Total GB written to NAND (SLC)), которые отображаются контроллером. В результате выяснилось, что уплотнение каждого гигабайта данных занимает порядка 6 секунд; то есть, уплотнение в штатном режиме, без свёртки, происходит со скоростью 166 МБ/с. Таким образом, запись, скажем, 500 ГБ данных займёт 16 минут (запись) + ещё 50 минут (свёртка), итого 1 час и 6 минут. Иными словами, даже в штатном режиме, не выходя за пределы псевдо-SLC кэша, диск будет записывать и уплотнять данные со скоростью лишь 126 МБ/с.
Отметим, что исследуемый накопитель построен на бюджетном контроллере Realtek RTS5735 и оснащён вполне приличной памятью TLC от SK Hynix, которая в других накопителях с более качественными контроллерами показывает существенно более высокие скорости:
v0.17a Drive: 8(USB) OS: 10.0 build 26100 Model: ORICO-2TB Fw : VE1R910F Size : 1953514 MB [2048.4 GB] FwStr: [REALTEK_RL6643VE1R910F_p_tH3V6V5.27] Controller: Realtek RTS5735 Bank04: 0xad,0x89,0x2a,0x53,0x0,0xb0,0x0,0x0 - Hynix 3dv6-128L TLC 16k 4096Gb/CE 1024Gb/die Bank05: 0xad,0x89,0x2a,0x53,0x0,0xb0,0x0,0x0 - Hynix 3dv6-128L TLC 16k 4096Gb/CE 1024Gb/die Bank08: 0xad,0x89,0x2a,0x53,0x0,0xb0,0x0,0x0 - Hynix 3dv6-128L TLC 16k 4096Gb/CE 1024Gb/die Bank09: 0xad,0x89,0x2a,0x53,0x0,0xb0,0x0,0x0 - Hynix 3dv6-128L TLC 16k 4096Gb/CE 1024Gb/die Flash CE Mask : [----++-- ++------]
В современных обзорах твердотельных накопителях в обязательном порядке тестируется объём данных, который накопитель способен записывать с максимальной скоростью; в комментариях часто можно увидеть жалобы на недостаточный объём кэша. Даже технически грамотные обозреватели до сих пор (!) повторяют мантру — «чем больше кэш, тем лучше»:
Подход «больше-лучше» и комментарии к обзорам не прошли незамеченными. Вот что происходит, когда производитель прислушивается к обозревателям:
Здесь представлен график скорости записи на накопитель высокого класса — Crucial T500 2TB, представленный несколько лет назад. Компания Micron сделала смелый шаг и — впервые среди именитых производителей — использовала весь объём накопителя в качестве псевдо-SLC кэша. Сегодня мы можем говорить, что результат оказался предсказуемым: почти восьмикратное (с 4 ГБ/с до 500 МБ/с) падение скорости записи на длинном отрезке.
Эксперимент оказался неудачным. Даже обозреватели, продолжающие требовать «больше-лучше», отметили, что что-то пошло не так. Компании пришлось в спешном порядке выпускать исправленную прошивку, в которой объём динамического pSLC-кэша был существенно уменьшен; скорость записи на длинном отрезке после обновления выросла вдвое.
Китайские же производители, по крайней мере, в своих дешёвых моделях в целях экономии решили не использовать здравый смысл, определив все ячейки накопителя в качестве pSLC-кэша. Разумеется, никаких обновления прошивок от них ожидать не приходится, и пользователи подобных моделей окажутся в ловушке низких скоростей и длительного ожидания, пока контроллер разберёт и уплотнит данные в фоновом режиме.
В каких сценариях использование подобных ультрабюджетных моделей оправдано?