SD Card Utility

Сабжи короче
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

SD Card Utility

Сообщение TS-Labs »

Напилил тулзу для тестирования SD-карт.
sshot.jpg

Что умеет:
- Инитить карты при помощи волшебного Force Erase, который в некоторых случаях дает картам вторую молодость. (На всякий случай сообщу, что ни в одном USB картридере этот фокус проделать нельзя, хотя бы потому, что SCSI не умеет таких команд.)
- Показывать инфу по регистрам карты.
- Пароль для лока карт пока захардкодан, в дальнейшем будет доступен для ввода. Если нужно разлочить имеющуюся карту с паролем, его можно поменять в сорцах.

Что еще будет уметь:
- Показывать самую подробную инфу про карту, какую только можно из нее вытянуть.
- TBD.

Про Force Erase.
Эта процедура выполняется картой, если юзер не знает установленного на карту пароля, и хочет стереть на карте этот пароль (вместе со всей информацией).
В зависимости от контроллера внутри карты, Force Erase не просто чистит LUT-ы и стирает NAND-чипы, но и может производить тестирование бэд-блоков и их заметание под ковер. Часто это приводит к увеличению скорости чтения/записи карты после длительного предварительного использования. Также, помогает раздуплить не очень живую карту, которая решила, что ей пора на покой.

На скриншотах - карта до стирания и после, скорость чтения.
2.png

3.png

Спойлер: на самом деле, изношенный NAND все равно забывает инфу быстрее, чем неизношенный. И полным стиранием его не восстановить. Однако, см. ниже про "Trim".

Про Sectors Erase.
Функция аналогична Force Erase, но для незалоченных карт. Освобождает блоки для использования в подменном фонде.

Про "Trim".
Термин "Trim" стал известен после появления SSD.
Немного теории. Между пользовательскими LBA и "сырыми" блоками NAND-а существует таблица трансляции (LUT). Когда юзер пишет в LBA, допустим, с номером 0, физически запись происходит в первый блок NAND-а, указанный в LUT-e, как свободный. Повторная запись в LBA 0 будет произведена в совершенно другой блок NAND-а, а предыдущий переместится в подменный фонд и будет ждать своей очереди. Данные от предыдущей записи будут лежать в нем, пока не перезапишутся, когда до него дойдет очередь. Данный метод применяется для уменьшения износа отдельных блоков и называется Wear Levelling. После Force и Sector Erase все стертые LBA помечаются в LUT-е свободными. При чтении из этих LBA возращаются 00 или FF, а физического чтения блоков NAND-а даже не происходит. До первой записи в эти LBA, это важно. Алгоритмы Wear Levelling обычно используют все доступные неиспользуемые блоки LUT, а значит, нагрузка распределяется более равномерно.
На SSD при использовании команды trim LBA освобождаются автоматически после стирания файла. На SD этого не происходит, хотя могло бы. В картридерах это скорее всего невозможно: я думаю, что в той версии SCSI, что ходит вместе с классом Mass Storage, этой команды нет. (Но это неточно.) В Embedded OS-ях, работающих с SD, это вполне реализуемо драйвером ОС-и, но опять же, я думаю, что не реализовано. (И опять же, это неточно.)
Какая практическая польза от всего вышеописанного: ну, например, повысить износоустойчивость карты в отдельном девайсе. Например, берем карту на 2ГБ, она работает 1 год и дохнет от износа. Берем карту на 16ГБ, пишем на нее тот же образ 2ГБ, что работал на предыдущей карте, и она работает 8 лет. При одном условии: перед записью образа 2ГБ ей сделали de-allocate всех LBA при помощи Force/Sector Erase. И только в этом случае.

Спойлер: на китайских поддельных нонеймовых сдшках почти всегда не работает Force/Sector Erase. У всех имеющихся у автора подобных экспонатов MID=00. Пока что это довольно удобный признак их определения. У этих дефектов подменный фонд примерно равен разнице между размером нанда (степень двойки) и размером LBA, и обычно составляет 6-8%. Но пользоваться такими флэшами в народном хозяйстве можно только тем, кому важна только запись на карту, а чтение не важно. Потому что эта подпихня либо косячит с лутом, либо читает изношенные блоки без коррекции (да-да, с плавающими битами).

Что может пойти не так.
Некоторые старые карты (у автора имеется такая на 2ГБ) имели ошибку в своем фирмваре, из-за которой Force Erase стирал инфу и разлочивал карту, но забывал стереть регистр пароля. Такая карта после разлочивания работает нормально, но только, пока на нее подают питание. При следующем включении она снова залочивается, ее снова можно стереть и так по кругу. Если попадется такая, надо просто снять пароль утилитой.
Аватара пользователя
WBC
Сообщения: 296
Зарегистрирован: Пт, 19.09.2014 10:23:23
Откуда: omsk XOR nsk

Re: SD Card Utility

Сообщение WBC »

найс :) только не говори что тулзу замариновал :D
--wbcbz7
Аватара пользователя
VBI
Сообщения: 1952
Зарегистрирован: Пн, 03.06.2013 09:20:29

Re: SD Card Utility

Сообщение VBI »

интересная штука.
а под винду вообще подобное есть? или только у нас :)
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

WBC писал(а):олько не говори что тулзу замариновал :D

Сцылка на гитхаб жеж.
VBI писал(а):а под винду вообще подобное есть?

Под винду нужен девайс специальный, юсб картридеры работать не будут.
Аватара пользователя
LessNick
грей сашу — сашу грей
Сообщения: 959
Зарегистрирован: Чт, 26.07.2012 15:00:53
Контактная информация:

Re: SD Card Utility

Сообщение LessNick »

Интересная софтина, даже скажу нужная :vodka:

TS-Labs писал(а):Под винду нужен девайс специальный, юсб картридеры работать не будут.


А те SD-девайсы что встроены в ноут или планшет? тоже как usb reader устроены?
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
Rusazar
Сообщения: 37
Зарегистрирован: Вс, 18.09.2016 12:56:03
Откуда: Ставрополь

Re: SD Card Utility

Сообщение Rusazar »

Штукенция интересная и можно сказать уникальная и эксклюзивная ;), заюзаю обязательно.
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

LessNick писал(а):А те SD-девайсы что встроены в ноут или планшет? тоже как usb reader устроены?

Обычно - да.
Аватара пользователя
idxi
Сообщения: 178
Зарегистрирован: Пн, 03.07.2017 16:54:54

Re: SD Card Utility

Сообщение idxi »

Нужная toolsa.

tsl - огонь ! )
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

Немножко обновилась, некоторые фиксы.
Аватара пользователя
Mor-Da
Сообщения: 364
Зарегистрирован: Пт, 12.02.2016 07:20:43
Откуда: Воткинск (родина П.И.Чайковского)

Re: SD Card Utility

Сообщение Mor-Da »

Еще не юзал, но TSL - гигант.
Den1982
Сообщения: 104
Зарегистрирован: Сб, 23.11.2013 20:57:07

Re: SD Card Utility

Сообщение Den1982 »

Только что восстановил "сдохнувшую" флэшку из регика! PC sux! :ok2:
Rusazar
Сообщения: 37
Зарегистрирован: Вс, 18.09.2016 12:56:03
Откуда: Ставрополь

Re: SD Card Utility

Сообщение Rusazar »

Итак, первое преимущество перед ZX Next мы имеем, это возможность восстановления флешек, благодаря монстру TS-Labs (в хорошем смысле этого слова) ;)
Аватара пользователя
idxi
Сообщения: 178
Зарегистрирован: Пн, 03.07.2017 16:54:54

Re: SD Card Utility

Сообщение idxi »

zxevo-ts-conf как средство восстановления флешек - это охуенно! Это слоган ! )
Вот продажи платформы как нужно поднимать ! )
Rusazar
Сообщения: 37
Зарегистрирован: Вс, 18.09.2016 12:56:03
Откуда: Ставрополь

Re: SD Card Utility

Сообщение Rusazar »

Безспорно! ))) Но только не стоит это хайпить свидетелям пришествия Next'a, а то срач подымется до небес :lol: :lol: :lol:
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

После долгого задротского тестирования сдшек нашел один лайфхак.
Если дать карте Force Erase и после этого записать на ней лишь небольшой объем, например в начале, то все незаписанные блоки будут считаться контроллером карты "пустыми", и нагрузка записи, при условии, что запись будет производиться в те же сектора в начале диска, будет распределяться равномерно среди скрытых блоков (коих обычно 6-8%) и среди "пустых".
Допустим ситуацию, когда у нас стоит девайс, линукс на котором занимает от силы 2ГБ. При этом он ведет активное кэширование в своей файловой системе (постоянно создает файлы и их удаляет). Каждый блок флэша может быть перезаписан 2-3 тысячи раз, после чего доходит до состояния, когда коррекция при чтении уже не срабатывает. Карты хватает, допустим, на год и всё. Теперь берем карту на 16ГБ, делаем ей волшебный Force Erase, записываем в первые 2ГБ имедж линукса. Профит! Время жизни карты ВНЕЗАПНО увеличивается в 8 раз.
Аватара пользователя
idxi
Сообщения: 178
Зарегистрирован: Пн, 03.07.2017 16:54:54

Re: SD Card Utility

Сообщение idxi »

Оу ! )
Такое только можно было лайвхакнуть пользуя zx-evo-ts-conf :)
Так что, пиарим платформу - всем ! ) еще одна фишка в пользу и в копилку ts-conf )
Аватара пользователя
idxi
Сообщения: 178
Зарегистрирован: Пн, 03.07.2017 16:54:54

Re: SD Card Utility

Сообщение idxi »

делаем ей волшебный Force Erase, записываем в первые 2ГБ имедж линукса. Профит!

Данный демо-код можно приложить для познавания ? )
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

Что?
Аватара пользователя
idxi
Сообщения: 178
Зарегистрирован: Пн, 03.07.2017 16:54:54

Re: SD Card Utility

Сообщение idxi »

Последний вопрос про "демокод" можно почикать ) вот что )
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

UPDATE
+ Стирание секторов для незалоченных карт.
+ Добавил описание.
azesmbog
Сообщения: 27
Зарегистрирован: Вт, 14.04.2015 13:27:40

Re: SD Card Utility

Сообщение azesmbog »

Благодарствую! Во-первых.
во-вторых, для нищих, у которых нет Эвы, но есть DE1 и Speccy2010, это тоже работает. Проверенно именно на Speccy2010 со старинной прошивкой. На MiSTer-e, хоть там ts-conf как таковая работает отлично, вряд ли эта утилита заработает :)
Перепробовал свои sd-карты, в т.ч. неисправные. одна на 32Гб определяется, стирается, но так и не работает. Отваливается впоследствии.
Так же ММС карта была в подопытных. Инфа с нее читается, но при попытке Lock\Erase сразу отваливается)
ну и еще.
Три карты, на которых явно написано Trancend (одну гиговую восстановил, лок показывала), так вот, утилита их Samsung-ами детектит, (1B). Может так и должно быть, но на скорость, как говорится, не влияет.
Еще раз спасибо за интересную утилиту.
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

azesmbog писал(а): DE1 и Speccy2010, это тоже работает

Прикольно!
azesmbog писал(а): одна на 32Гб определяется, стирается, но так и не работает

А сфоткай пожалуйста ее инфу.
azesmbog писал(а):Так же ММС карта была в подопытных

ММС несколько отличаются от СД, я их пока не поддерживал.
azesmbog писал(а):Три карты, на которых явно написано Trancend (одну гиговую восстановил, лок показывала), так вот, утилита их Samsung-ами детектит, (1B).

Все утилита нормально кажет - MID не обманешь )). И самсунг еще не самый плохой вариант, флэшки годные.
azesmbog
Сообщения: 27
Зарегистрирован: Вт, 14.04.2015 13:27:40

Re: SD Card Utility

Сообщение azesmbog »

тогда странно, зачем трансценду делать SD и идент самса ставить)))
Изображение

эмм, а предпросмотра нету?))
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

azesmbog писал(а):эмм, а предпросмотра нету?))

Да щас можно лить пикчи прямо сюда, только размеры не делать конские. 500кБ примерно.
Аватара пользователя
TS-Labs
Сообщения: 5374
Зарегистрирован: Чт, 26.07.2012 01:29:56

Re: SD Card Utility

Сообщение TS-Labs »

azesmbog писал(а):тогда странно, зачем трансценду делать SD и идент самса ставить)))

Они ставят самсунг и продают под маркой трансенд. Все продают всё, как всё )) У меня половина карт раскрашены совершенно левыми вендорами.
Рискну предположить, что не хватает собственных мощностей, а продавать хочется.
Ответить