Изучаем обновление прошивок для внешних SSD Transcend на Silicon Motion SM2320

9

Методика тестирования накопителей образца 2021 года

Мы протестировали уже четыре компактных внешних SSD (PSSD) на контроллере Silicon Motion SM2320, причем все они использовали разную память. Но одинаковыми были настройки SLC-кэширования, что на производительности способно сказаться гораздо сильнее, чем разные версии TLC: запись только через кэш. Это традиционное поведение для бюджетных SSD-контроллеров Silicon Motion, аналогом которых внутренне является SM2320, но вредное для внешних накопителей.

MoveSpeed 1000 MB/s 2 in 1

Чем это плохо? Скорость записи принципиально зависит от наличия свободного места в кэше. Если оно кончилось, то нужно «расчистить» уже записанные данные, продолжая принимать новые. Задача эта трудоемкая, а контроллер не слишком мощный, поэтому скорость записи в таком режиме падает примерно до 100 МБ/с. Это неплохо на фоне «обычных» флэшек или ноутбучных жестких дисков, но даже обычный настольный винчестер может подавать данные в более быстром темпе. И как раз для внешнего накопителя такие сценарии критичны, поскольку их нередко покупают именно для переноса десятков или сотен гигабайт данных, которые записываются или считываются в один прием.

Transcend ESD310

Внутренние бюджетные SSD от этой проблемы не слишком страдают, потому что запись больших объемов данных на высокой скорости в их жизни если и встречается, то очень редко. А большинство операций записи не выходят за пределы SLC-кэша, так что выполняются быстро. Чтобы попадать туда чаще, кэш делают побольше — вплоть до выделения под него всех свободных ячеек. Такая же схема была использована в трех протестированных нами PSSD из четырех, что позволяет записывать треть свободного места на скорости порядка 900 МБ/с, но... На пустой полутерабайтной «флэшке» это 170 ГБ, чего на практике достаточно почти всегда, однако если на диске свободно гигабайт 50, то быстро мы туда уже и 20 не впихнем. А в Kingston DataTraveler Max еще и размер кэша уменьшили (видимо, чтобы не пытался конкурировать с более дорогим и габаритным XS2000), так что он просто оказался самым медленным.

Kingston DataTraveler Max

Есть ли альтернатива этой схеме? Да: нужно реализовать режим непосредственной («прямой») записи в TLC-массив. Такая запись медленнее, чем в однобитном режиме, поэтому полностью отказаться от кэширования нельзя — иначе не получится заявить безумные сотни мегабайт в секунду :) Но в этом случае кэш можно уменьшить, благо снижение скорости после его исчерпания будет уже относительно щадящим, а на реально низкий уровень мы выйдем лишь в самом конце — когда всё равно придется переуплотнять первые записанные данные. Но всегда есть шансы, что не придется, поскольку процесс записи кончится раньше.

Adata Elite UE800

Разницу этих подходов мы неоднократно наблюдали на примере внутренних SSD. Что же касается PSSD на Silicon Motion SM2320, то первое время там встречалась только первая схема — совершенно для них не оптимальная. Однако не так давно начали появляться и продукты с прямой записью, причем нередко даже без обновления названия модели — просто с определенной поставки накопители начинали работать более правильно. Правда, касалось это в основном не самых компактных «флэшек», а более габаритных коробочек с кабелем. К тому же, отгрузки с новой прошивкой никак не помогали действующим покупателям — им простого способа обновления никто не предлагал. Оставался только сложный — лезть на низкий уровень служебных утилит для контроллера, где всегда есть риск полностью «окирпичить» устройство.

Однако не так давно лед тронулся: Transcend решил предложить обновление всем владельцам любых накопителей на этой платформе. Отметим, что этот производитель в своих продуктах использует самую медленную современную память из всех представленных на рынке версий TLC NAND. На скорости записи в кэш это никак не сказывается, так что зачем платить больше? А вот скорость прямой записи напрямую же от конкретной памяти и зависит. С другой стороны, Transcend хотя бы ставит TLC — а Kingston XS1000 уже был замечен и с QLC. Но в DataTraveler Max все-таки тоже TLC, так что ему бы такая прошивка как раз помогла превратиться из самой медленной (из протестированных) в одну из самых быстрых флэшек. Эффект же для Transcend ESD310 должен быть куда более слабым. Но не проверишь — не узнаешь. Да и вообще пройти мимо такой возможности мы не могли, поскольку это актуально и для владельцев таких накопителей, и для тех, кто только выбирает подобное устройство. Новые покупатели, впрочем, получают новые прошивки прямо из коробки. Но всё равно нужно разобраться, как они работают.

Ожидания и неожиданности

Программа обновления прошивок для всех устройств на SM2320 общая и отдельная от прочих продуктов компании. Загружается со специальной страницы сайта. В списке совместимых моделей по неизвестной науке причине отсутствует ESD300С, хотя это всего лишь модификация ESD310, от которой отрезали разъем USB-A. Кстати, если вдруг кому нужен накопитель только под «старые» разъемы, то появился в ассортименте Transcend и ESD320A — это слайдер именно с выдвижным USB-A. Вообще же Transcend выпустил уже много моделей — как компактных «флэшек» со скоростью интерфейса до 10 Гбит/с, так и коробочек с кабелем, где уже встречаются и 20 Гбит/с. Но все они совместимы друг с другом — и все используют одну и ту же 112-слойную 2-plane память SanDisk с терабитными кристаллами.

с прошивкой W0807
с прошивкой X0402

Сам процесс очень прост: достаточно лишь согласиться с тем, что все данные будут уничтожены, и нажать кнопку. Но мы изначально не ожидали, что под «All Data» понимаются не только «All User Data». Потому что процесс обновления прошивки заодно «снес» и всю информацию о количестве включений и часов работы, а также записанных и считанных данных (см. пару скриншотов выше). Если это обязательный побочный эффект обновлятора Silicon Motion, то нет ничего удивительного в том, что остальные производители распространять его не рискуют. Иначе есть риск, что кто-нибудь принесет в сервис уже протертую до дыр флэшку, но с восстановленной девственностью — и что с этим делать?

Впрочем, когда-то Kingston прошивки своим устройствам обновлял — не через отдельную программу, а через общую и для внутренних SSD утилиту. Однако последний раз такое случалось в декабре 2022 года, с тех пор ничего не меняется. У Adata специальной утилиты нет, а общий Toolbox выдает вот такие оскорбительные сообщения. На MoveSpeed мы, естественно, изначально не рассчитывали :) Так что остается только Transcend. И сейчас мы «нового» мальчика измерять будем.

Тестирование

Методика тестирования

Методика подробно описана в отдельной статье, в которой можно более подробно познакомиться с используемым программным и аппаратным обеспечением. Здесь же вкратце отметим, что мы используем тестовый стенд на базе процессора Intel Core i9-11900K и системной платы Asus ROG Maximus XIII Hero на чипсете Intel Z590, что обеспечивает полную поддержку всех скоростных режимов USB 3.2 вплоть до Gen2×2 включительно.

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

Образцы для сравнения

Главным будет, разумеется, сравнение Transcend ESD310 с собой же — то есть старой прошивки с новой. Но для большей полноты мы добавили и результаты Adata Elite UE800, где контроллер тот же, а память — более быстрая. При одинаковых настройках прошивки он работал побыстрее, а что изменится с разными — нужно оценить. Заодно добавим результаты сравнения с конкурирующей платформой, которую представлять будет Silicon Power DS72 на Phison U17.

Заполнение данными

Adata Elite UE800 512 ГБ
Transcend ESD310 512 ГБ (прошивка W0807)

С одинаковыми прошивками Adata и Transcend вели себя одинаково, лишь скорость записи вне кэша у Adata, как мы уже сказали, была повыше. А вот запись в кэш шла на одинаковой скорости — почему производителей и тянет поставить память помедленнее :) И размер кэша у обоих — на максимум свободного места, так что пока места достаточно, проблем никаких, любые вменяемые объемы информации «влетать» будут на полной скорости. За что потом неизбежна расплата — и появление разницы между испытуемыми: если Adata Elite UE800 бо́льшую часть времени держалась выше 100 МБ/с, то Transcend ESD310 — заметно ниже этой отметки. Разница в общем времени выполнения теста — полтора раза. Частично это, конечно, следствие незначительного отличия в емкости (в Adata предпочли более круглое число — и больше резервных блоков), но в основном разница набралась из-за более медленной записи на ⅔ «поляны».

Transcend ESD310 512 ГБ (прошивка X0402)

Что изменилось с новой прошивкой? Время выполнения теста радикально уменьшилось — теперь ESD310 обгоняет UE800. Максимальная скорость записи в кэш, правда, тоже немного уменьшилась, да и сам он сократился в полтора раза — то есть на максимуме уже удастся записать меньше данных. Но второе неизбежно: при изначальной схеме кэширования данные по исчерпании кэша писать напрямую некуда. Теперь же есть куда — и почти половина емкости проходится на скорости примерно 170 МБ/с. Потом всё равно приходится расчищать кэш, так что возвращаемся к тому, что было. Кроме того, небольшая ступенька на графике возникает из-за того, что, по-видимому, контроллер в таком режиме немного перегрелся. Но, несмотря на это, ускорение налицо. И оно могло бы быть намного больше, будь память побыстрее. С другой стороны, это делает более оправданной покупку ESD310 большей емкости. Ранее это было не слишком интересно, поскольку все варианты с такой политикой тормозили одинаково. А теперь скорость прямой записи будет разной, и более высокой — у «флэшек» на 1 и 2 ТБ.

Adata Elite UE800 512 ГБ (второй проход)
Transcend ESD310 512 ГБ (прошивка X0402, второй проход)

Собственно, на втором проходе (по мусору) хорошо видна как скорость прямой записи, так и различие между двумя политиками. Если всё записывать только через кэш, то и записывать всё придется по два раза — и дополнительно стирать в промежутке. А можно просто не заниматься лишней работой. Запись могла бы быть побыстрее, это ограничение уже самой памяти — мы наблюдали это, тестируя SSD на других контроллерах. Кстати, некоторые контроллеры с ней работают еще раза в полтора медленнее, что мы тоже наблюдали. В общем, память сама по себе небыстрая, хотя в конкретных условиях может опережать более скоростные варианты — влияние прошивок и настроек очень велико. Заодно становится понятно, почему нельзя вовсе отказаться от кэширования: тогда 900 МБ/с точно не заявишь в характеристиках :) Да и делается кэш для того, чтобы в него попадать, а не для того, чтобы промахиваться. Просто это не всегда получается.

Silicon Power DS72 500 ГБ

Можно, конечно, работать еще быстрее. Несмотря на то, что Phison U17 прямой записи не обучен, благодаря небольшому статическому SLC-кэшу (именно 25 ГБ при любой емкости, а не 5% — проверено) он способен потратить меньше времени на запись полного объема, поскольку есть куда переупаковывать данные. Но максимальная скорость записи тут ниже, да и попасть в маленький кэш намного сложнее. Так что идеал недостижим. А вот отказаться от совсем неудачных решений — полезно.

Работа с большими файлами

Чтение 32 ГБ данных (1 файл), МБ/с
Пустой накопитель Свободно 100 ГБ
Adata Elite UE800 512 ГБ 934,3 936,6
Silicon Power DS72 500 ГБ 750,7 746,4
Transcend ESD310 512 ГБ (W0807) 848,8 841,4
Transcend ESD310 512 ГБ (X0402) 937,8 941,9

Обновление прошивки, судя по всему, не обошлось и без исправления обнаруженных ошибок — так что скорость чтения подросла на 100 МБ/с. Пустячок, а приятно.

Чтение 32 ГБ данных (32 файла), МБ/с
Пустой накопитель Свободно 100 ГБ
Adata Elite UE800 512 ГБ 1063,8 1063,6
Silicon Power DS72 500 ГБ 941,8 924,3
Transcend ESD310 512 ГБ (W0807) 1048,7 1042,1
Transcend ESD310 512 ГБ (X0402) 1067,5 1034,3

Многопоточный режим для внешнего SSD — синтетика, но именно такие результаты озвучиваются производителями в спецификации, поскольку они выше. Тут никаких неожиданностей не нашлось.

Запись 32 ГБ данных (1 файл)
Пустой накопитель Свободно 100 ГБ
Adata Elite UE800 512 ГБ 893,3 889,2
Silicon Power DS72 500 ГБ 630,6 623,5
Transcend ESD310 512 ГБ (W0807) 940,6 933,6
Transcend ESD310 512 ГБ (X0402) 886,4 847,0

Скорость записи же снизилась, что тоже не неожиданно. Во-первых, вспоминаем, что кэш начал работать немного, но медленнее. Во-вторых, в заполненном данными состоянии сказывается уменьшение его емкости, которая для выбранного размера тестового файла уже стала недостаточной. Вспоминаем сказанное выше про недостижимость идеала стратегии кэширования, а также попадания и промахи в кэш. Каждая схема имеет свои плюсы и минусы, так что невозможно улучшить абсолютно всё — в каких-то сценариях будет ухудшение. Возьми мы файл поменьше — было бы побыстрее. Побольше — не хватило бы и кэша на все ячейки, так что новая схема начала бы выигрывать и в этом тесте. Но с такими его настройками результат такой, каким он и должен быть.

Запись 32 ГБ данных (32 файла), МБ/с
Пустой накопитель Свободно 100 ГБ
Adata Elite UE800 512 ГБ 972,1 882,5
Silicon Power DS72 500 ГБ 593,4 592,5
Transcend ESD310 512 ГБ (W0807) 928,5 912,8
Transcend ESD310 512 ГБ (X0402) 897,9 854,9

Естественно, аналогичный получается и в многопоточном режиме. Но важно даже не это, а то, что «флэшкам» на этой платформе по большому счету не с кем конкурировать. Платформа Phison все-таки помедленнее, про разнообразные USB—SATA и говорить нечего, а то, что быстрее, не помещается в компактные размеры. Так что тут уже важными остаются исключительно стратегии работы — оптимизированные под ту или иную задачу. «Старые» прошивки (у Adata других и не появилось) рассчитаны под очень быструю запись ограниченных количеств информации. Прямая запись позволяет лучше справляться с объемами, выходящими за рамки размеров кэша. Но в этих тестах мы за них не всегда выходим. Точнее, выходим только с «новой» прошивкой.

Чтение и запись 32 ГБ данных (последовательный доступ), МБ/с
Пустой накопитель Свободно 100 ГБ
Adata Elite UE800 512 ГБ 944,1 917,2
Silicon Power DS72 500 ГБ 408,5 299,0
Transcend ESD310 512 ГБ (W0807) 942,9 919,1
Transcend ESD310 512 ГБ (X0402) 937,1 906,1

А здесь в первом приближении все равны. Если ограничиваться продуктами на SM2320, конечно — слабость Phison U17 в таких сценариях была известна заранее. Новая прошивка могла бы дать выигрыш при большем объеме записываемых данных, но здесь он вообще всего 16 ГБ по условиям теста. То есть во всех случаях попадаем в кэш, а небольшое снижение из-за того, что он стал чуть медленнее.

Чтение и запись 32 ГБ данных (произвольный доступ), МБ/с
Пустой накопитель Свободно 100 ГБ
Adata Elite UE800 512 ГБ 657,7 611,3
Silicon Power DS72 500 ГБ 487,0 393,5
Transcend ESD310 512 ГБ (W0807) 830,5 817,3
Transcend ESD310 512 ГБ (X0402) 638,4 642,1

И довольно сильно «просел» рандом. Из чего следует, что в прошивках изменения больше, чем только прямая запись. Но это тоже было понятно уже после резко выросшей скорости однопоточного чтения. Причем там скорость выросла до уровня Adata Elite UE800, а здесь до ее же уровня упала — так что, возможно, соответствующие модули стали ближе друг к другу.

Комплексное быстродействие

Краткое знакомство с новым тестовым пакетом PCMark 10 Storage

На данный момент лучшим комплексным бенчмарком для накопителей является PCMark 10 Storage, с кратким описанием которого можно познакомиться в нашем обзоре. Там же мы отметили, что не все три теста, включенных в набор, одинаково полезны — лучше всего оперировать «полным» Full System Drive, как раз включающим в себя практически все массовые сценарии: от загрузки операционной системы до банального копирования данных (внутреннего и «внешнего»). Остальные два — лишь его подмножества, причем на наш взгляд не слишком «интересные». А вот этот — полезен в том числе и точным измерением не только реальной пропускной способности при решении практических задач, но и возникающих при этом задержек. Усреднение этих метрик по сценариям с последующим приведением к единому числу, конечно, немного синтетично, но именно, что немного: более приближенных к реальности оценок «в целом», а не только в частных случаях, всё равно на данный момент нет. Поэтому есть смысл ознакомиться с этой. Пусть она и немного избыточна для оценки даже «полноформатных» и небюджетных внешних SSD — все-таки пока еще даже для многих их владельцев идея использовать такой не вместе с, а иногда и вместо внутреннего кажется революционной. Что уж говорить про недорогие модели во флэшечном форм-факторе, которые и покупаются-то в основном только как более быстрая, но в тех же простых сценариях, альтернатива «обычным» флэшкам. Однако те же тесты чтения, записи и копирования данных в состав тестового пакета входят, да и более сложные трассы многим небезынтересны на практике — а потому при всей своей комплексности оценки программы очень полезны.

PCMark 10 Storage Full System Drive
Пустой накопитель Свободно 100 ГБ
Adata Elite UE800 512 ГБ 858 684
Silicon Power DS72 500 ГБ 465 463
Transcend ESD310 512 ГБ (W0807) 796 582
Transcend ESD310 512 ГБ (X0402) 806 719

Сегодня же именно этот тест нам важен и как лучшая иллюстрация смены стратегии кэширования. Напомним, что во время его выполнения записывается примерно 200 ГБ данных, а пауз в работе недостаточно, чтобы заниматься «подготовкой» кэша. Поэтому большое значение имеет запас места в нем на момент запуска теста. Со «старой» прошивкой при емкости 500 или 512 ГБ это порядка 170 ГБ — почти достаточно. Если оставить всего 100 ГБ, то лишь 30 ГБ — чего совсем недостаточно. Цифры верны для Silicon Motion SM2320 — у Phison U17 статический кэш на 25 ГБ, откуда и стабильно (невысокий) результат: не с чего ему меняться. После обновления прошивки мы получаем для Transcend ESD310 примерно 100 ГБ и всего 20 ГБ. Но во втором случае он оказывается самым быстрым, обойдя и Adata Elite UE800 — именно за счет резко увеличившейся скорости после SLC-кэша. За счет этого сам себя обгоняет и при большом количестве свободного места. А UE800 такая прошивка ускорила бы еще сильнее, поскольку у него и память быстрее. Но ему ее не выдали.

Итого

Сравнение новых прошивок со старыми оставило сложное послевкусие. С одной стороны, спасибо Transcend за то, что для продуктов компании это обновление появилось — остальные упорно молчат. С другой стороны, немного расстраивает, что на такой шаг пошел именно Transcend — отличающийся от конкурентов использованием относительно медленной памяти в этих линейках. К тому же, все выбравшие ESD310 именно объемом 512 ГБ сами себя в итоге наказали. Со старыми прошивками скорость от емкости практически не зависела, так что эти модификации выглядели оптимальными по соотношению цены и прочих характеристик. А теперь они стали самыми медленными. 256 ГБ и то быстрее, поскольку там используется немного более быстрая память. А 1 и 2 ТБ используют те же терабитные кристаллы, но в большем количестве, так что скорость прямой записи выше.

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

Кстати, некоторые другие производители в новых поставках тоже обновили ПО и в старых моделях. Почему не дают это сделать пользователю? Возможно, как раз из-за обнаруженного сброса статистики при перепрошивке — не самый лучший эффект с точки зрения гарантийного отдела :) А кто-то просто пользуется поводом формально осовременить модельные ряды, с сохранением того же «железа», но в новом корпусе и с новой прошивкой. Фактически, получается и правда новое устройство, которое будет работать не так, как старые. Безотносительно конкретных устройств, это является очередным напоминанием о сложности современного мира, где ПО и его настройки давно уже имеют не меньшее (а иногда и большее) значение, чем «железо».

Андрей Кожемяко
9 комментариев
Комментировать
Спасибо!
0
Ответить
B.
Я бы не отказался если бы SLC кэширование было бы просто настройкой, уровень которой можно было бы регулировать без всяких перепрошивок.
Для мобильных ссд его иной раз вобще лучше отключить. И общая скорость выше будет и живучесть увеличится в несколько раз.
1
Ответить
К сожалению, настройки кэширования обычно задаются только при первичной инициализации — так что без перепрошивки точно никак
0
Ответить
B.
Тут думается это вопрос к тому как сделана прошивка.
Не то чтобы указание верхнего лимита это охренеть не встать какая сложная задача.
Но даже если это на уровне первичных вещей в прошивке, всегда можно сделать утилитку редактирующую прошивку (причём судя по комментам такая существует).
0
Ответить
Korzhec
«Не то чтобы указание верхнего лимита это охренеть не встать какая сложная задача»
Теоретически оно, конечно, не исключено
Практический же вопрос в другом — кто это будет делать и зачем
Производителей текущая ситуация полностью устраивает. Пользователи же в основной своей массе ничего и никогда всё равно не настраивают. Даже то, что можно
Поэтому спроса на указанное взяться неоткуда — и разработчикам не с чего усложнять себе работу
0
Ответить
Ki
Да хоть бы и так! Часто встречаются именно «крайние» сценарии использования: кому то только под системный диск+своп, а кому то наоборот 100% под холодные данные. Лично я готов пожертвовать объёмом чтобы превратить ссд в slc/mls.
0
Ответить
Можно скачать утилиту для прошивки sm2320 и править там все ,главное не забыть скачать оригинальную прошивку что бы все вернуть на место и серийник ,я sxs2000 так прошил и он у меня стал лучше работать и скорости на окончания кэша 1000 примерно
0
Ответить
у прошивок бывают разные варианты настроек кеширования, и с некоторыми — ничего не изменится. где-то на просторах попадался
SM2320 pSSD Performance and Flash Support List_X0314.xlsx
там кроме прочего есть результаты прогона h2testw, по котором это более-менее видно. разумеется, это не исчерпывающая информация.
0
Ответить
В статье, как оказалось, не самый еще худший вариант для этой флешки. У меня такая же флешка, но видимо с еще более медленной памятью.
На прошивке W0807 моя флешка пробегала всю дистанцию за 101 минуту против 85 минут из статьи. Т.е. на длинном участке, где флешка из статьи держала ~74 Мб/с, моя показывала ~58 Мб/с.
После прошивки на X0402 ситуация улучшилась, но все равно сильно медленнее, т.е. вместо 170 Мб/с на среднем участке показывает 105 Мб/с, а на заключительном вместо 90 Мб/с показывает 60 Мб/с. И общее время вместо 52 мин получилось 81 мин.
Т.о. общая картина примерно такая же, только в 1,6 раза медленнее :(. Выигрыш после прошивки есть, но всего 20%, вместо ожидаемых 40%. Печаль.
0
Ответить
Согласен с правилами
Комментировать