Разборка SD флеш карты ☑️ SLC, MLC или TLC?


Предыдущая | Следующая

Допустим в наличии имеется горсть различных флешек (USB, SD, microSD) для переноса и/или хранения информации. И перед тем, как записывать на такую флешку что-то ценное (пароли всякие или ключи электронных подписей), хочется, чтобы информация там хранилась как можно дольше, при том что флешка будет положена полку и пролежит там неизвестно долго. Как известно, ячейка флеш-памяти хранит информацию тем дольше, чем толще (или лучше) диэлектрик плавающего затвора (совершенно неизвестный параметр), чем крупнее ячейка (= чем более старый техпроцесс, какой-нибудь 90-nm, например) и чем меньше уровней-состояний у ячейки (минимум два — SLC).

Допустим, хотим выявить все SLC-флешки, чтобы остальные выбросить на помойку, а на эти поназаписывать что-то мелкое (в силу малой ёмкости старых флешек), но ценное (например, кошельки криптовалют). Как узнать, какой тип памяти (в смысле SLC/MLC/TLC) используется во флешке? На ней ведь не написано…

В случае USB-флешек проблем нет: скачиваем [бесплатную и портабл] утилиту Flash Drive Information Extractor и считываем инфу из контроллера флешки.

Инфа об USB-флешке Silicon Power 8GB

Вот, видим, что TLC — на помойку.

Но эта утилита (и все ей подобные) не умеют проделывать этот же номер с SD и microSD картами памяти. Потому что оные вставляются в USB-кард-ридер, и утилита считывает информационные регистры контроллера этого кард-ридера, а не контроллера флешки.

Что делать? Есть способы:

  1. Существуют ноутбуки, в которых SD-кард-ридер подключён напрямую к шине, а не через USB-переходник.Также и в планшетах, и в смартфонах внешняя microSD карта подключается напрямую, так что информацию о них (содержимое регистров CID и CSD конроллеров карт) можно получить с помощью, например, утилиты DiskInfo PRO.
  2. Можно использовать какой-нибудь микроконтроллер с SPI-интерфейсом на борту. Далее паяльник, программирование этого микроконтроллера на посылку нужных запросов, … Примеры таких реализаций на STM32F4Atmega328A (Ардуино)Atmega16 и др.
  3. Вскрыть SD-карту и считать маркировку непосредственно с чипа памяти, после чего найти датащит на эту микросхему (см. ниже).
  4. Пройтись по сайтам производителей и почитать, что они сами про свои флешки пишут. Иногда они признаются, что там внутри намутили, особенно в отношении твердотельных накопителей, SSD, [вот, например, списочек: SLC SSD — кто производит и как называются модели] и «industrial» SD и microSD карт.

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

Первый и второй способы оказываются вообще негодными: в регистрах 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 минут склеится намертво.