Прямая запись в usb накопителях на контроллере SM2320 на примере Kingston DTMaxA

Рассказ об ускорении записи у некоторых флешек на контроллерах sm2320.
На всякий случай предупрежу, что описанная процедура уничтожает записанные данные, а в некоторых случаях, в том числе при неверном радиусе кривизны рук и проблемах с кармой, может привести и к полной неработоспособности устройства.
Попугали и хватит, вернемся к нашим баранам. Последнее время среди быстрых флешек и внешних ssd распространились накопители на контроллере sm2320.
Впервые они появились в конце 2021, и отличительной их способностью первое время была невысокая скорость записи за пределами slc-кеша ввиду любимой smi политикой кеширования, когда все данные сначала пишутся в slc-кеш, а потом из него сбрасываются в основной многобитный массив. В таком режиме скорость даже с быстрым tlc флешем ограничена 100-200МБ/с, иногда и ниже и почти не масштабируется с ростом обьема и параллелизма массива флеша.
Но спустя пару лет появились модели от crucial x9pro/x10pro, в которых наконец сделали прямую запись в tlc, когда за пределами кеша запись осуществляется сразу в многобитный массив без промежуточных «буферов», и в таком режиме скорость старших обьемах превышает гигабайт в секунду. Последнее время модели с флешем например от hynix'а часто ведут себя так же.
А еще с год назад активно утекать инструментарий для начальной инициализации с поддержкой разного флеша. Все это открыло возможности к ускорению у старых моделей.
В качестве подопытного выступает Kingston DTMaxA следующей конфигурации (прошивка тут уже новая):
Уточнить флеш можно посредством vlo.name:3000/tmph/smi_pssd_flash_id01t3.rar
Некоторое количество mptool'ов находится здесь: www.usbdev.ru/files/smi/sm2320mptool/ выбирать в соответствии с выявленным флешем. На просторах попалась табличка от smi, в которой есть некоторые результаты замеров для разных прошивок и типов флеша. Салатовым выделил те, в которых по косвенным признакам (скорость записи h2testw) реализована прямая запись. Можно предположить, что поведение более новых версий под тот же флеш будет аналогичным, хотя этого я не проверял за неимением других подопытных.

Флешка подключается по usb обычным образом.
Первое — выполнить определение флеша кнопкой auto, если список пуст — значит в этом комплекте поддержки имеющегося флеша нет и продолжать не стоит.
В настройках нет ничего интересного, скрытый пункт «Static SLC» на данную версию прошивки никак не влияет. на всякий случай — включается он добавлением в system.ini лежащий рядом с SM2320MPTool.exe в разделе параметров:
[OPTION]
EnableWholeCardSLC=1
ShowStaticSlcCnt=1
Pretest поставить в 0,CH/CE Map и все что ниже — снять.
Из косметики если флешка исходно живая, то можно задать модель/серийник/прошивку как было в оригинале, причем для серийника можно выбрать настройку KeepSN, а галочку Modifi CID снять. Если накопитель не определяется, его пришлось перевести в rom перемычкой, то придется и эти поля заполнить вручную.
Пароль на вход в настройки традиционный для smi — два пробела.

Плата выглядит так, контакты для перевода в rom mode обведены, их можно замыкать накоротко или резистором в несколько сот Ом, для поиска в случае неизвестной платы у других моделей желательно использовать резистор, что бы ничего не коротнуть, замыкать надо перед подачей питания, через несколько секунд после можно убрать, и обязательно убрать до запуска процесса перепрошивки:
Процесс занимает порядка минуты.
Результат — для 512GB с таким флешем запись после кеша получилась ~430MB/s:
Найти для сравнения полный аналог у меня не получилось, вот так пишется родственный накопитель с точно таким же флешем, но вдвое большего обьема с прошивкой без прямой записи — всего 140MB/s (отсюда — mysku.club/blog/russia-stores/99036.html), хотя в случае прямой записи можно ожидать 800+MB/s:

Пара слов насчет конструкции dtmax — это слайдер из трех частей, пара составляют капусулу с платой внутри, которая вставляется в полозья красной части корпуса.

С охлаждением дела обстоят не очень, его фактически нет и на длительной записи может доходить до перегрева и сброса скорости, для терабайтного обьема это более вероятно. Для улучшения я проложил пару термопрокладок и перевернул плату наоборот, что бы контроллер касался той стороны «капсулы», которая расположена снаружи.
Потребление для записи и чтения в кеш и в tlc:
в цифрах:
запись slc 1.9Вт
запись tlc 2.1Вт
чтение slc 1.8Вт
чтение tlc 1.85Вт
Во время замеров поймал известный глюк sm2320, когда скорость записи упирается в 300-400МБ/с (в частности было ~350), при этом с чтением проблем нет, ~1ГБ/с. Помогло переподключение. Значит в этой версии прошивки ничего не изменилось.
При этом по потреблению видно, что запись как и положено, сначала идет в кеш, потом в tlc, и в кеш на такой скорости потребление сильно меньше. Пожалуй это даже стоит показать.

длинная полка 1.4Вт — это запись в кеш с обрезанной втрое скоростью.
Далее 1.9Вт — это запись в tlc, скорость подрезана процентов на 10.
Потом 1.8/1.85 — это чтение на полной скорости, тут проблем нет.
p.s. у трансценда для моделей со схожей аппаратной базой, в частности ESD310 есть штатное обновление прошивки с тем же результатом. Правда там бывает более медленный флеш и в малых обьемах эффект будет невелик.
На всякий случай предупрежу, что описанная процедура уничтожает записанные данные, а в некоторых случаях, в том числе при неверном радиусе кривизны рук и проблемах с кармой, может привести и к полной неработоспособности устройства.
Попугали и хватит, вернемся к нашим баранам. Последнее время среди быстрых флешек и внешних ssd распространились накопители на контроллере sm2320.
Впервые они появились в конце 2021, и отличительной их способностью первое время была невысокая скорость записи за пределами slc-кеша ввиду любимой smi политикой кеширования, когда все данные сначала пишутся в slc-кеш, а потом из него сбрасываются в основной многобитный массив. В таком режиме скорость даже с быстрым tlc флешем ограничена 100-200МБ/с, иногда и ниже и почти не масштабируется с ростом обьема и параллелизма массива флеша.
Но спустя пару лет появились модели от crucial x9pro/x10pro, в которых наконец сделали прямую запись в tlc, когда за пределами кеша запись осуществляется сразу в многобитный массив без промежуточных «буферов», и в таком режиме скорость старших обьемах превышает гигабайт в секунду. Последнее время модели с флешем например от hynix'а часто ведут себя так же.
А еще с год назад активно утекать инструментарий для начальной инициализации с поддержкой разного флеша. Все это открыло возможности к ускорению у старых моделей.
В качестве подопытного выступает Kingston DTMaxA следующей конфигурации (прошивка тут уже новая):
v0.1t31
Drive: 2(USB)
OS: 10.0 build 19045
Model: DataTraveler Max
Fw : S9I00105
Size : 488386 MB [512.1 GB]
Model: KingstonDataTraveler Max1000
Size : 488386 MB
Controller : SM2320XT (from firmware)
FW version : W0419A00
Bank00: 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
Bank02: 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
Bank04: 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
Bank06: 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
Bank08: 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
Bank10: 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
Bank12: 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
Bank14: 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
FlashID : 0x98,0x3e,0x98,0x3,0x76,0xe4,0x0,0x0 - Toshiba 112L BiCS5 TLC 16k 512Gb/CE 512Gb/die 2Plane/die
Channel: 2
CE : 4
Plane : 2
Die/Ce : 1
Ch map : 0x05
CE map : 0x0F
Bit Per Cell : (TLC)
но его родственники dtmax (с type-c разьемом), и разноцветные xs1000/xs2000 ничем принципиально не отличаются. Вопрос только какой в них окажется флеш и есть-ли под него прошивки с нужной. Стоит отметить что xs1000 последнее время встречаются с qlc флешем, в частности у кингстона есть такие с версией прошивки S9M001xx — им уже ничто не поможет.Уточнить флеш можно посредством vlo.name:3000/tmph/smi_pssd_flash_id01t3.rar
Некоторое количество mptool'ов находится здесь: www.usbdev.ru/files/smi/sm2320mptool/ выбирать в соответствии с выявленным флешем. На просторах попалась табличка от smi, в которой есть некоторые результаты замеров для разных прошивок и типов флеша. Салатовым выделил те, в которых по косвенным признакам (скорость записи h2testw) реализована прямая запись. Можно предположить, что поведение более новых версий под тот же флеш будет аналогичным, хотя этого я не проверял за неимением других подопытных.

Флешка подключается по usb обычным образом.
Первое — выполнить определение флеша кнопкой auto, если список пуст — значит в этом комплекте поддержки имеющегося флеша нет и продолжать не стоит.
В настройках нет ничего интересного, скрытый пункт «Static SLC» на данную версию прошивки никак не влияет. на всякий случай — включается он добавлением в system.ini лежащий рядом с SM2320MPTool.exe в разделе параметров:
[OPTION]
EnableWholeCardSLC=1
ShowStaticSlcCnt=1
Pretest поставить в 0,CH/CE Map и все что ниже — снять.
Из косметики если флешка исходно живая, то можно задать модель/серийник/прошивку как было в оригинале, причем для серийника можно выбрать настройку KeepSN, а галочку Modifi CID снять. Если накопитель не определяется, его пришлось перевести в rom перемычкой, то придется и эти поля заполнить вручную.
Пароль на вход в настройки традиционный для smi — два пробела.

Плата выглядит так, контакты для перевода в rom mode обведены, их можно замыкать накоротко или резистором в несколько сот Ом, для поиска в случае неизвестной платы у других моделей желательно использовать резистор, что бы ничего не коротнуть, замыкать надо перед подачей питания, через несколько секунд после можно убрать, и обязательно убрать до запуска процесса перепрошивки:

Процесс занимает порядка минуты.
Результат — для 512GB с таким флешем запись после кеша получилась ~430MB/s:


Пара слов насчет конструкции dtmax — это слайдер из трех частей, пара составляют капусулу с платой внутри, которая вставляется в полозья красной части корпуса.


Потребление для записи и чтения в кеш и в tlc:


запись slc 1.9Вт
запись tlc 2.1Вт
чтение slc 1.8Вт
чтение tlc 1.85Вт
Во время замеров поймал известный глюк sm2320, когда скорость записи упирается в 300-400МБ/с (в частности было ~350), при этом с чтением проблем нет, ~1ГБ/с. Помогло переподключение. Значит в этой версии прошивки ничего не изменилось.
При этом по потреблению видно, что запись как и положено, сначала идет в кеш, потом в tlc, и в кеш на такой скорости потребление сильно меньше. Пожалуй это даже стоит показать.


Далее 1.9Вт — это запись в tlc, скорость подрезана процентов на 10.
Потом 1.8/1.85 — это чтение на полной скорости, тут проблем нет.
p.s. у трансценда для моделей со схожей аппаратной базой, в частности ESD310 есть штатное обновление прошивки с тем же результатом. Правда там бывает более медленный флеш и в малых обьемах эффект будет невелик.
Самые обсуждаемые обзоры
+68 |
3652
97
|
vlo.name:3000/tmph/ps_usb_flash_id.rar
ну или www.usbdev.ru/files/chipgenius/ www.usbdev.ru/files/usbflashinfo/
есть такой утиль — www.usbdev.ru/files/phison/phisonwp/
старым фисонским флешкам бывает что и помогает.
тут уже по строке get mode видно, что что-то пошло не так.
может контроллер слишком свежий, может состояние из которого это не помогает (вообще это программная защита от записи, но иногда и флажок устанавливается и при глюках).
можно пытаться прошивать его мптулами, для такой связки что-то есть, например:
www.usbdev.ru/f/index.php?topic=3515.0
но стоит-ли это возни — не уверен.
а если еще и 2280 — то нехилый такой рычаг для выламывания.
а на 2320 бывает гиг-полтора записи. последнее правда не во «флешечном» исполнении.
P.S. Забыл обновить страницу… :)