$put_perv_real = "/home/www/dvakompa-ru/dopol/"; ?>
Допустим в наличии имеется горсть различных флешек (USB, SD, microSD) для переноса и/или хранения информации. И перед тем, как записывать на такую флешку что-то ценное (пароли всякие или ключи электронных подписей), хочется, чтобы информация там хранилась как можно дольше, при том что флешка будет положена полку и пролежит там неизвестно долго. Как известно, ячейка флеш-памяти хранит информацию тем дольше, чем толще (или лучше) диэлектрик плавающего затвора (совершенно неизвестный параметр), чем крупнее ячейка (= чем более старый техпроцесс, какой-нибудь 90-nm, например) и чем меньше уровней-состояний у ячейки (минимум два — SLC).
Допустим, хотим выявить все SLC-флешки, чтобы остальные выбросить на помойку, а на эти поназаписывать что-то мелкое (в силу малой ёмкости старых флешек), но ценное (например, кошельки криптовалют). Как узнать, какой тип памяти (в смысле SLC/MLC/TLC) используется во флешке? На ней ведь не написано…
В случае USB-флешек проблем нет: скачиваем [бесплатную и портабл] утилиту Flash Drive Information Extractor и считываем инфу из контроллера флешки.
Инфа об USB-флешке Silicon Power 8GB
Вот, видим, что TLC — на помойку.
Но эта утилита (и все ей подобные) не умеют проделывать этот же номер с SD и microSD картами памяти. Потому что оные вставляются в USB-кард-ридер, и утилита считывает информационные регистры контроллера этого кард-ридера, а не контроллера флешки.
Последний способ плох тем, что производители пишут на своих сайтах только про последние продукты, которые сейчас производят, а доступа к архивам нет. Да и редко когда про тип ячеек…
Первый и второй способы оказываются вообще негодными: в регистрах CID (Card Identification Data) и CSD (Card Specific Data) контроллеров SD и microSD флешек нет информации об используемом типе памяти. Потому что производители в рамках программы масс-дурилова усиленно скрывают её (равно как и информацию о времени хранения инфы на данной флеш-памяти в отключённом состоянии — Data Retention Time).
Поэтому, попробуем задействовать топор, способ №3. Кстати, народ и microSD вскрывает тоже: Decapsulated microSD.
Для начала разберём ненужный SD-microSD адаптер:
SD-microSD переходник. Никакой электроники внутри нет
Для этого канцелярским ножом от переключателя Lock проходимся по периметру, расщепляя половинки корпуса. Половинки, оказывается, были склеены пунктирно по периметру (показано красными стрелками), а не защёлкнуты, как задняя крышка мобильного или смартфона. Зелёные стрелки указывают на дополнительные плямбы склейки, но у флешки их быть не должно, т. к. там будет плата.
Теперь берём непонятную карту ёмкостью 16 МБ:
SD карта Canon 16 МБ
Сначала ножиком делаем начальное расщепление, аккуратно, самым кончиком, чтобы не повредить плату внутри:
Вскрытие покажет
Затем, начиная с начальной расселины, расщепляем половинки по периметру заточенной пластиковой [банковской или скидочной] картой:
Взлом банковской флеш карты
Имеем:
Потроха, вид сверху
Тут пунктирная склейка была только у контактов, а так, по большей части, сплошной шов, но на одной половинке все выпуклые перегородки для склейки, а на другой — ямки. Перевернём и перекинем плату на другую половинку корпуса:
Маркировка чипов
И вот искомое: маркировка контроллера (меньший чип) и памяти — Hynix HY27US02881A. Для расшифровки этого нам нужно искать не datasheet, а файл Hynix NAND flash part number decoding, из которого узнаём:
HY — Hynix memory,
27 — NAND flash,
U — 2.7V~3.6V,
S — SLC + Single Die + S/B, …
«А» в конце — 2nd Gen.
Короче, SLC это, что и требовалось доказать.
Теперь надо собрать корпус взад, чтобы использовать по назничения. Расщепляем кончик зубочистки, чтобы забрать им мини-каплю ацетона или дихлорэтана и проливаем этим растворителем в местах отрыва по периметру на той половинке, где желобки:
Восстановление корпуса SD-карты
Вставляем плату и пимпу переключателя Lock, накрываем второй половинкой и придавливаем чем-нибудь плоским и тяжёлым, например, смартфоном. Через 10 минут склеится намертво.