Попался мне почивший adata su800 в конфигурации sm2258+b17a, на его примере было решено проверить, можно ли его переключить в p-slc режим на весь обьем. Т.е. когда современный флеш с многобитными ячейками используется для хранения всего одного бита на ячейку.
То, что с экземплярами на 2258+l06b (32L mlc от intel/micron) такое провернуть можно — давно известно, а вот с tlc'шными проверить как-то не доводилось.
Заодно посмотрим на настройки slc-кеша в обычном, tlc, режиме.
В дни своей бурной молодости этот экземпляр представлял собой немного странную конфигурацию — флеш у него подключен используя лишь 2 канала.
v0.563a
Drive: 0(ATA)
OS: 10.0 build 18363
Model: ADATA SU800
Fw : R0427ANR
Size : 488386 MB [512.1 GB]
From smart : [SM2258B16A] [R0427ANR]
Controller : SM2258AB
Bank00: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Bank01: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Bank08: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Bank09: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Bank16: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Bank17: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Bank24: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Bank25: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Pure Spare Blocks : 41
Running Spare Blocks: 467
FlashID: 0x89,0xc4,0x8,0x32,0xa6,0x0,0x0,0x0 - Intel 64L(B17A) TLC 512Gb/CE 512Gb/die
Channel : 2
Ch map : 0x03
CE map : 0x55
First Fblock : 3
Total Fblock : 504
Bad Block From Pretest: 17
Start TLC/MLC Fblock : 19
DRAM Size,MB : 512
DRAM Vendor : Hynix
Вскрытие (накопитель не определялся, так что пришлось) показало причины — корпус флеша всего один, bga132, он двухканальный, так что большему взяться неоткуда.
Касательно разборки корпуса su800 — в центре верхней этикетки есть винт, он сжимает половинки корпуса вокруг платы, кроме того половинки держаться на защелках по периметру. Углубление под нижней половиной трогать незачем, там ничего нет.
На usbdev.ru был скачан мптул с поддержкой интересующего флеша — SM2258_B16A_B17A_FWR0427A_MPR0419A.rar
Первый актуальный вопрос — как подключать. Тут есть несколько вариантов, все они касаются сравнительно свежих mptool'ов для smi/sata.
1. можно через usb-sata адаптеры. не факт что любые, но обычно через usb3 jm*/asm* работает.
2. можно через sata/ahci со стандартным драйвером от ms.
для этого открываем конфигурационный файл текстовым редактором
SM2258_B16A_B17A_FWR0427A_MPR0419A\UFD_MP\Setting.set
в нем в секции
[OPTION]
надо вписать строчку
ENABLEPATAPASSTHROUGHUDMA=1
кстати, для первого варианта нужно указывать =0 (или совсем строчку убрать). в распространяемых комплектах не исключены разные варианты.
3. можно через sata со стандартным драйвером в ide режиме. вариант на сегодня не очень актуальный.
Во всех вариантах могут быть свои тараканы, в зависимости от версии мптула и контроллеров-драйверов-переходников.
Вернемся к рассматриваемой теме. Ожидаемо в исходном состоянии показ интересующих нас настроек в интерфейсе отключен,
лезем в тот же самый файл и в нем в секции
[OPTION]
дописываем несколько параметров:
ShowWholeDriveStrongPage=1
ShowDynamicSLCSize=1
ShowNandPECycle=1
Получаем доступ к новым настройкам (пароль на изменение — настроек два пробела):
ShowWholeDriveStrongPage — это как раз перевод всего накопителя в p-slc режим
ShowDynamicSLCSize — настройка размера slc-кеша в обычном режиме
ShowNandPECycle — ресурс в циклах стирания, по нему в смарте вычисляются проценты расхода ресурса, так же он показан в атрибуте #A8. но у данной прошивки есть особенность — максимальное значение 1500, все что выше игнорируется, хотя уменьшить можно. так что смысла в этой настройке в данном случае нет.
Задаем обьем, настраиваем, прошиваем.
Максимальный обьем для данного экземпляра (с учетом заводских дефектов флеша, так что может быть и слегка больше, и меньше) оказался равен 178GB.
Для начала напомню, как выглядит запись при стандартных настройках, типичных для такого флеша, slc-кеш на весь обьем флеша, т.е. порядка трети доступного пользователю. При этом запись в кеш происходит со скоростью в 480MB/s, после начинается одновременно с записью новых данных уплотнение старых из slc в tlc и скорость падает до 170MB/s. Для sata ssd это весьма неплохой результат, но все равно падение скорости почти втрое.
повторная запись демонстрирует с 16% прямую запись во флеш со скоростью порядка 380MB/s.
Здесь интересно поведение прошивки в такой ситуации. Некоторые накопители переходят к прямой записи в tlc, некоторые продолжают писать в slc-кеш, и одновременно сбрасывать его в tlc что приводит к сильному падению скорости.
Теперь переключим весь флеш в p-slc режим, получился накопитель в ~1/3 от номинального обьема. Максимальный обьем у этого экземпляра с учетом его количества заводских дефектов составил 178GB.
Прогоняем запись — скорость около 460MB/s
второй проход — результат тот же.
Второй вариант — отключаем slc-кеш совсем, прошивка это тоже позволяет. Скорость неплохая, но до потолка не дотягивается, возможно, будь накопитель 4хканальным — было бы немного выше. Скорость 385MB/s, время записи всего обьема накопителя упало почти вдвое, с 40 до 21 минуты. Максимальный обьем получился 514GB (чуть выше стандартной величены, что интересно, судя по ошибке при превышении не хватает прошивке не флеша, а установленной dram).
второй проход по записанному накопителю выглядит аналогично
И на закуску — включаем кеш, но задаем минимальный обьем в 4GB. После кеша прямая запись в tlc с той же скоростью, что в варианте без кеша.
прогонять до конца не стал, скорость там без изменений.
Заодно сравним, что показывает CDM7 и pcmark10/full system drive benchmark в вариантах slc и tlc (при включенном slc-кеше любого обьема результат будет аналогичен p-slc, ибо тестовый обьем в него умещается).
slc:
tlc:
по результатам CDM видно что скорость произвольного чтения в p-slc режиме тоже заметно подрастает, и особенно многопоточного. Хотя если бы флеш был подключен по всем 4 каналам, разница была бы несколько меньше.
Итог — у накопителей с указанным флешем slc-кеширование можно настраивать достаточно гибко в зависимости от потребностей.
У прошивок для другого флеша часть режимов могут не поддерживаться. Например у прошивок для L06B (intel/micron 32L mlc) доступны только 3 варианта — или кеш на весь обьем, или полный перевод в p-slc и только прямая запись в mlc без кеша. Варианта небольшой кеш+прямая запись не предусмотрено.
Причин для использования p-slc режима представляется три — ускорение записи у малообьемных накопителей, повышение ресурса записи, использование флеша с израсходованным ресурсом, который уже не способен работать в многобитном режиме.
Для внешних накопителей большого обьема интереснее полностью отключить slc кеширование.
https://aliexpress.ru/item/1005006997432578.html
https://aliexpress.ru/item/1005007216649425.html
а в 63xt ничего интересного не было даже на момент его появления, и тем более сейчас. это самое дно nvme-строения, которое «работает и ладно».
прошивать его смысла чуть — никаких настроек на тему режимов флеша и кеша у smi/*xt традиционно нет.
Ме написанное это вовсе не придуманннач чисто теоретическая ситуация, а с чем уже в реальности столкнулось обладатели определенной молели ссд от Самсунга Самсунг
об этом в заключении упомянуто.
а ресурс записи — он как раз и оценивается именно по возможности успешно прочитать данные спустя некоторое время.
Достаточно просто узнать наличие/отсутствие заряда. И «стекать» такой заряд до невозможности детектировать будет значительно дольше.
без кеша (tlc/pslc — не важно) — не станет лишней записи от его сброса.
при небольшом фиксированном кеше будет протираться его месторасположение (оно фиксированное).
хотя бывают и внешние аппаратные проблемы, с преобразователями питания там, или интерфейсные линии статикой убиты. бывает и отвал кристаллов у флеша.
смена режимов флеша поддерживается прошивками достаточно редко.
чем… ну для начала выяснить какой там контроллер, потом можно пытаться запустить в rom (с перемычкой) и определить флеш. а дальше как повезет с наличием инструментов и состоянием.
256GBчего-то доступного в рознице.есть вариант и через hpa/dco, но какие ssd это поддерживают фиг знает.
p.s. насчет hpa — можно полистать тут: smarthdd.com/rus/database/
навскидку рилтеки фисоны сандфорцы обычно поддерживают, максио — не, сми — когда как.
Нет. Да и конвертеров, похоже, таких не существует, а то бы всунул Optane в осциллограф загрузочным диском.
Вот здесь приводят такие данные по совместимости
И подключить не получилось
А здесь сотрудник Intel четко говорит
h10 — это просто 2 ssd на одной плате, каждый по 2 линии. вот для этого им нужна аппаратная поддержка разделения линий в разьеме, иначе будет виден только один.
его в розницу официально и не продавали, только в составе готовых сборок.
и да, для использования оптана как кеширующего нужна поддержка со стороны софта, которая привязана к некоторым платформам. нынче поддержка всего этого вроде уже и закончилась.
Optane Persistent Memory
это вообщем dimm'ы. вставляются вместо памяти.
все остальные накопители с такой памятью в стандартных для ssd типоразмерах (m.2, u.2 итп) — самые обычные ssd, которым для работы в качестве ssd ничего дополнительного не требуется.
P.S. На самом деле, не понимаю, зачем тут вообще SLC-кэш. Если максимум 460 МБ/с, а в режиме прямой записи в TLC 385 МБ/с, можно было так и оставить, и ресурс был бы раза в два больше.
а вот фиг знает зачем. наверное так лучше выглядит в тестах. сейчас большинство sata безбуферников (smi/realtek/yeestor — поголовно, phison/maxio раз на раз) имеют такую же организацию кеширования. причем отключить его стандартные и доступные прошивки у первой тройки не позволяют. и ладно бы у мелких обьемов, но начиная от 500G/1T флеш позволяет писать со скоростью выше sata в tlc режиме.
и не стоит думать что ос занимается постоянным чтением с 4к рандомом.
Вопрос — Вы на virustotal.com проверяете файлы на наличие вирусов? В последнее время даже на официальных сайтах 1-3 червя и / или бэкдора приклеено. Было и по 6.
H2Testw на официальном сайте тоже с вирусом был. У меня не помню с каких времен без вируса валяется.
На указанном Вами сайте ни одного файла практически нет, где не был бы вирус.
Может ложная тревога, а может и нет.
вообще же антивирусы нынче как бы не большее зло, чем вирусы. ибо от чего их авторы решили оградить пользователя только им и известно. и это не говоря о ошибочных срабатываниях.
ну и пользователи не лучше, которые на вирустотале увидев одну красную метку, из полусотни, от безвестного поделия, не пытаясь даже разобраться что это значит, начинают разводить панику.
а как понять ложная тревога или нет?
тут например поминаются:
eflash.apacerus.com/spec/PCN_EOL/mSATA_SSDs/SV250-300/Apacer_PCN_SV250-300%20firmware%20launch_SFMB6130_20200630.pdf
cdn.soselectronic.com/productdata/6c/37/946ecc07/a72-255fha-00104.pdf
у этих внутри mas0902+bics3.
Там при работе технологической утилиты, записывается заранее подготовленный ISO образ.
Ну и флешка будет видится как CD.
и тут есть пара замечаний, во1ых оболочка мптула универсальная, и то что у нее вынесено в интерфейс может не поддерживаться прошивками, ну и более интересно — через ata нельзя проинформировать хост, что накопитель r/o. т.е. работать это будет в любом случае кривовато (или рапортовать ошибки при записи, или тихо игнорировать).
из той же серии еще бывает быстрое стирание накопителя по сигналу.
у bx500… вроде бы некоторые прошивки умеют pslc. отключить кеш — нет.
прочитал все, но правда как на иврите)
завтра найду мусорные 2258 и попробую напихать побольше памяти ( если конечно будут подходящие типы ).
да впрочем вроде пара плат на 512г и так валялись…
правда обычно эти диски работают под виндой, а ей эта огромная скорость по всему полю и не сильно нужна.
если увеличить обьем, то окажется что для работы с ними мало установленной dram.
отдельный вопрос — коммутация сигналов к ним, там есть кучка перемычек, с которыми скорее всего придется разбираться.