Как быстро проверить истинный объём флешки?

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
Аватара пользователя
CodeMaster
Advanced Member
Сообщения: 7669
Зарегистрирован: 27.08.2010,11:17
Откуда: Воронеж
Контактная информация:

Вклад в сообщество

Как быстро проверить истинный объём флешки?

Сообщение CodeMaster » 17.04.2019,09:38

misha_weba писал(а): 16.04.2019,21:44 Не, тут либо быстро, либо точно.
Ну, эту истину знают все, но почему бы не сделать интеллектуально (что отличает человека от прочей живности)? Например, пишешь некое изменяемое по формуле magic word каждые 128МБ и считываешь его. Получил в ответ не то слово или не получил вообще - возвращаешься к предыдущей отметке и начинаешь шурудить флеш поблочно до окончания.
"Во времена всеобщей лжи говорить правду - это экстремизм" © Джордж Оруэлл, "1984"

geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04

Как быстро проверить истинный объём флешки?

Сообщение geg » 17.04.2019,10:37

misha_weba писал(а): 16.04.2019,21:44 Если надо быстро
пасиб.


2 CodeMaster
Кнопка "quick" на вкладке "tests" в виндовой вике.

Аватара пользователя
misha_weba
Advanced Member
Сообщения: 332
Зарегистрирован: 14.04.2017,11:32
Откуда: СПб
Контактная информация:

Как быстро проверить истинный объём флешки?

Сообщение misha_weba » 17.04.2019,22:20

Скрипт выше усекает двухкратно номер каждого проверяемого сектора, начиная от максимального.
Размеры флешей кратны степеням двойки, это и используется.

Quick scan виктории -это всё-таки скан, хоть и выборочный, он несопоставимо медленней скрипта.
7700K/32G/30T+/1070; C633/384M/20G/GF4/3.5"+5.25"; 80386/2M/256M/GD610/3.5";

Аватара пользователя
CodeMaster
Advanced Member
Сообщения: 7669
Зарегистрирован: 27.08.2010,11:17
Откуда: Воронеж
Контактная информация:

Вклад в сообщество

Как быстро проверить истинный объём флешки?

Сообщение CodeMaster » 18.04.2019,21:16

misha_weba писал(а): 17.04.2019,22:20 Размеры флешей кратны степеням двойки
Почему-то сомневаюсь, но не могу опровергнуть этого, т.к. у меня нет набора флешек одинакового размера, но могу посмотреть LBA в кучке SSD на 120-128 гигов.
misha_weba писал(а): 17.04.2019,22:20 Quick scan виктории -это всё-таки скан, хоть и выборочный, он несопоставимо медленней скрипта.
Интересный вариант, надо проверить насколько он точно показывает последний существующий LBA.
"Во времена всеобщей лжи говорить правду - это экстремизм" © Джордж Оруэлл, "1984"

geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04

Как быстро проверить истинный объём флешки?

Сообщение geg » 19.04.2019,07:31

misha_weba писал(а): 17.04.2019,22:20 Размеры флешей кратны степеням двойки, это и используется.
Номинальные - да. Но на практике приходиться работать с размером в секторах. Не замечали факт, что размер дисков у разных производителей в секторах совпадают с точностью до сектора (речь о дисках, в которых не копались всякие hdd гуру)? А для флешек этого правила никогда не было. С ssd общаюсь реже, как там с этим не знаю.

Аватара пользователя
misha_weba
Advanced Member
Сообщения: 332
Зарегистрирован: 14.04.2017,11:32
Откуда: СПб
Контактная информация:

Как быстро проверить истинный объём флешки?

Сообщение misha_weba » 22.04.2019,18:46

Данные о флешке из /sys берутся, а там их ядро размещает при детекте накопителя.
Так что последний LBA берётся тот, что сообщает накопитель, если я правильно понял скрипт.

А вот кратность степеням двойки идёт от разработчиков чипов, как я понимаю. Компании не делают микросхем, ёмкость которых не кратна 2^N, насколько я понимаю.

Была у меня поддельная флешка, но я её посеял.
7700K/32G/30T+/1070; C633/384M/20G/GF4/3.5"+5.25"; 80386/2M/256M/GD610/3.5";

Аватара пользователя
CodeMaster
Advanced Member
Сообщения: 7669
Зарегистрирован: 27.08.2010,11:17
Откуда: Воронеж
Контактная информация:

Вклад в сообщество

Как быстро проверить истинный объём флешки?

Сообщение CodeMaster » 22.04.2019,20:20

misha_weba писал(а): 22.04.2019,18:46 Компании не делают микросхем, ёмкость которых не кратна 2^N, насколько я понимаю.
Физически да, но логически контроллер может обеспечивать доступ не ко всей ёмкости, а чуть меньше.
"Во времена всеобщей лжи говорить правду - это экстремизм" © Джордж Оруэлл, "1984"

Аватара пользователя
misha_weba
Advanced Member
Сообщения: 332
Зарегистрирован: 14.04.2017,11:32
Откуда: СПб
Контактная информация:

Как быстро проверить истинный объём флешки?

Сообщение misha_weba » 22.04.2019,23:03

Если контроллер так обрежет память, то нам от этого ни тепло, ни холодно - тест начнётся с max_lba и в любом случае пойдёт только по пользовательской области (деля этот max_lba пополам на каждом проходе), доступной штатным путём через чтение/запись секторов.
Задействование же полной ёмкости - это уже низкоуровневые процедуры всякими сервисными тулзами от производителя - это долго, муторно и имеет смысл только изучения ради.

Я так поднял одну флеш на 32 Гб с навернувшейся прошивкой. А вот вторая флешина не хочет. То ли прошивки не те, то ли флеш ушатан, не всегда сразу поймёшь с этой китайчатиной.
7700K/32G/30T+/1070; C633/384M/20G/GF4/3.5"+5.25"; 80386/2M/256M/GD610/3.5";

geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04

Как быстро проверить истинный объём флешки?

Сообщение geg » 24.04.2019,07:59

По поводу "обрезков":клац
Выпаиваем м\с и вставляем её в каретку для чтения. Сразу начинаются сюрпризы. Заявленный объем флешки 4 Gb, а ёмкость микросхемы — 32 Gb! Перед нами заводской маркетинговый «обрезок» который при желании, пока флешка была ещё новая, можно было бы превратить в 32-х гиговый накопитель.

Аватара пользователя
misha_weba
Advanced Member
Сообщения: 332
Зарегистрирован: 14.04.2017,11:32
Откуда: СПб
Контактная информация:

Как быстро проверить истинный объём флешки?

Сообщение misha_weba » 28.04.2019,02:04

Слабо верю, что китаёзы нормальный 32Гб флеш поставят в накопитель на 4 при текущих ценах.
Есть большая вероятность, что такой флеш - обраковка из отбраковки, и обрезан он не просто так =)
7700K/32G/30T+/1070; C633/384M/20G/GF4/3.5"+5.25"; 80386/2M/256M/GD610/3.5";

geg
Advanced Member
Сообщения: 12303
Зарегистрирован: 21.11.2010,12:04

Как быстро проверить истинный объём флешки?

Сообщение geg » 18.05.2019,07:36

от Казанского
попалась карта MicroSD, на которой повреждались файлы, но только большого объёма, более 1 Гб. Повреждались они 100% и предсказуемо. Вставляешь её в видеорегистратор - и если съёмка длиней 18 минут , то можно быть уверенным - "кина не будет". Каково же было моё удивление, когда процедура DDD не нашла на данной карте никаких проблем.
Оказалось, хитрые китайцы применили новый вид обмана с раздуванием объёма - так называемое "окно памяти". Когда пользователю выделен некоторый объём, размером например в 2G, и запись сравнительно небольших блоков по 256-2048 секторов (и даже 65535 секторов, как допустимо в LBA48 и Win API) происходит без ошибок. Окно перемещается вместе с адресацией, и создает видимость безошибочной записи на всём объёме поддельного накопителя.

Для гарантированного распознавания таких подделок была написана другая программа, которую уже можно публиковать, но под нее надо сделать страницу сайта, чем я в ближайшие 2 дня займусь.

Программа несложная в отношении флешек (вероятно, есть и лучше - я знаю 4 программы для проверки флешек на подлинность)

Ответить