Как определить контроллер флешки: Восстановление флешки: определение контроллера, прошивка флешки – Программный ремонт флешки (прошивка контроллера)

Содержание

Восстановление флешки и прошивка контроллера

Восстановление флешки и прошивка контроллераНаверное, мало кого найдешь из пользователей персонального компьютера без флешки в кармане, потому что это устройство очень удобное, портативное, быстро можно записать файлы и на сегодняшний день недорого стоит. Но флешкам свойственно ломаться, как и всем электронным устройствам. Часто флешка ломается через месяц и конечно такая ситуация бывает не очень приятной. Также свойственно восстановление флешки, если прочитать внимательно данную статью.

Основными причинами выхода из строя флешки являются: небезопасное извлечение ее из usb — порта, если не дождались полного копирования файлов с жесткого диска компьютера на флешку или наоборот, вирусы и прочее. Причин может быть много, но думаю это для Вас не важно, самый главный вопрос это

восстановление флешки.

Восстановление флешки путем ее форматирования

Если есть возможность отформатировать флешку и система не выдает отказ на это действие, то лучше начать именно с форматирования. В операционной системе Windows есть встроенная утилита для форматирования. Также есть отдельные утилиты для форматирования флешек, например, HP USB Disk Storege Format Tool.

Утилита HP USB Disk Storege Format Tool

Если не помогло, то можно воспользоваться утилитой для низкоуровневого форматирования HDD Low Level Format Tool. Только при выборе флешки не спутайте жесткий диск, а то можете отформатировать его.

Так что будьте внимательны!!!

Утилита HDD Low Level Format Tool

Есть еще одна программа HDD Regenerator для восстановления жестких дисков, но так же подходит и для флешек. Программа устраняет физические повреждения (сбойные сектора) с поверхности жесткого диска и флешек. Также поддерживает низкоуровневое форматирование. После форматирование можно восстановить данные с флешки.

Если форматирование флешки не удается, то не отчаивайтесь. Возможно, слетел контроллер и его можно перепрошить.

Определение, поиск и прошивка контроллера флешки

Для того чтобы прошить контроллер необходимо узнать его модель и производителя, а точнее VID, PID и VendorID. Просто так это не узнаешь, поэтому понадобиться утилита CheckUDisk, если эта утилита не помогла можно также воспользоваться утилитами Usbdeview или ChipGenius. Но вроде, сколько не пользовался, утилита CheckUDisk работает безотказно и выдает необходимую информацию.

Утилита CheckUDisk

Даже если флешка не определяется как накопитель, но операционная система видит его как устройство, то утилита определяет VID и PID. Поэтому вставляем флешку в USB-порт и запускаем утилиту CheckUDisk. Нам нужно только VID, PID и VendorID, в моем случае VID = 0951 и PID = 1613, а VendorID: Kingston.

Поиск прошивки контроллера флешки

Далее надо искать по этим атрибутам утилиту для прошивки контроллера флешки. Для этого проходим по ссылке

iFlash и вводим модель в нужные поля сайта и нажимаем на кнопку Найти. После чего отобразиться список моделей флешек с утилитами для прошивки контроллера. И тут нам надо найти подходящий вариант. Советую Вам не закрывать, а если закрыли запустить утилиту CheckUDisk, чтобы при поиске можно было поглядывать и на другие атрибуты флешки, чтобы облегчить свой поиск.

В моем случае в списке предложено не мало вариантов, так что выбор большой. Тут надо выбрать более подходящий. Работаем в два окна, где один сайт flashboot.ru, а другое окно утилита CheckUDisk. Некоторые утилиты для прошивки совпадают по названию с разными моделями флешек, просто они совместимы.

Поиск прошивки контроллера флешки

Копируем название утилиты для прошивки контроллера, которая нам подходит (в моем случае MPTool MP2232 v1.06.00) и вставляем поисковую строку раздела Файлы и нажимаем на кнопку Найти.

Прошивка для восстановления флешки

Вот что-то нашли, в принципе подходит, а значит можно скачать и восстановить флешку.

Конечно может сразу не получиться, но не надо сразу расстраиваться. Возвращаемся в список утилит для прошивки контроллера флешки и ищем аналогичную. Часто в базе бывает не одна утилита, которая подходит именно для нашей флешки. Например, у меня тоже не с первого разу получалось,  приходилось экспериментировать. Восстановление флешки как я писал требует усидчивости и умение экспериментировать.

Я надеюсь Вам поможет эта информация и ваша флешка вновь наполниться файлами. А с Вами был блог об онлайн сервисах и приложениях.



Интересное на сайте:




Добавить комментарий

Инструкция по восстановлению работоспособности флешки

Флешка silicon-power

Флешка silicon-powerПриветствую всех читателей блога!

Наверное у большинства, кто боле-менее часто работает с компьютером, есть флешка (а то и не одна). Иногда случается так, что флешка перестает нормально работать, например при неудачном форматировании или в следствии каких-либо ошибок.

Довольно часто файловая система может распознаваться в таких случаях как RAW, форматирование флешки произвести не удается, зайти на нее тоже… Что делать в таком случае? Воспользоваться этой небольшой инструкцией!

Эта инструкция по восстановлению работоспособности флешки рассчитана на самые различные проблемы с USB носителями, кроме механических повреждений (производитель флешки может быть, в принципе, любым:  kingston, silicon-power, transced, Data traveler, A-Data и др.).

И так… приступим. Все действия будут расписаны по шагам.

 

1. Определение параметров флешки (производителя, марку контроллера, кол-во памяти).

Казалось бы, что сложного в определении параметров флешки, тем более производитель и количество памяти указано практически всегда на корпусе флешки. Дело здесь в том, что USB-накопители даже одного модельного ряда и одного производителя могут быть с разными контроллерами. Из этого вытекает простой вывод — чтобы восстановить работоспособность флешки, необходимо сначала точно определить марку контроллера, чтобы правильно выбрать утилиту для лечения.

Типовой вид флешки - плата с микросхемойТиповой вид флешки - плата с микросхемой

Типовой вид флешки (изнутри) — плата с микросхемой.

 

Чтобы определить марку контроллера есть специальные число-буквенные значения, задаваемые параметрами VID и PID.

VID — vendor ID
PID — Produkt ID

Для разных контроллеров они будут различны!

 

Если не хотите убить флешку — то ни в коем случае не используйте утилиты, которые не предназначены для ваших  VID/PID. Очень часто из-за неправильно выбранной утилиты флешка приходит в негодность.

Как определить VID и PID?

Самый простой вариант — запустить небольшую бесплатную утилиту CheckUDisk и выбрать в списке устройств свою флешку. Далее вы увидите все необходимые параметры для восстановления флешки. См. скриншот ниже.

2014-09-14 15_01_55-CheckUDisk V5.42014-09-14 15_01_55-CheckUDisk V5.4

CheckUDisk

 

VID/PID можно узнать и не используя утилиту.

Для этого вам нужно зайти в диспетчер устройств. В ОС Windows 7/8 это удобно делать через поиск в панели управления (см. скриншот ниже).

2014-09-14 14_41_39-диспе - Панель управления

2014-09-14 14_41_39-диспе - Панель управления

 

В диспетчере устройств флешка, обычно, помечается как «Запоминающее устройство для USB», вам нужно щелкнуть по этому устройству правой кнопкой мышки и перейти в его свойства (как на картинке ниже).

2014-09-14 14_42_22-Диспетчер устройств

2014-09-14 14_42_22-Диспетчер устройств

 

Во вкладке «сведения» выберите параметр «ИД оборудования» — перед вами покажутся VID/PID. В моем случае (на скриншоте ниже) эти параметры равны:

VID: 13FE

PID: 3600

2014-09-14 14_46_07-Свойства_ Запоминающее устройство для USB

2014-09-14 14_46_07-Свойства_ Запоминающее устройство для USB

 

2. Поиск необходимой утилиты для лечения (низкоуровневого форматирования)

 Зная VID и PID нам требуется найти специальную утилиту, подходящую для восстановления нашей флешки. Очень удобно это делать, например, на сайте: flashboot.ru/iflash/

Если на сайте вдруг под вашу модель ничего не будет найдено, лучше всего воспользоваться поисковиком: Google или Яндекс’ом (запрос, вида: silicon power VID 13FE PID 3600).

2014-09-14 16_22_57-iFlash _ FlashBoot.ru - восстановление флешек, каталог утилит, статьи, форум

2014-09-14 16_22_57-iFlash _ FlashBoot.ru - восстановление флешек, каталог утилит, статьи, форум

 

В моем случае, для флешки на сайте flashboot.ru была порекомендована утилита Formatter SiliconPower.

2014-09-14 15_05_21-iFlash - page #2 _ FlashBoot.ru - восстановление флешек, каталог утилит, статьи,

2014-09-14 15_05_21-iFlash - page #2 _ FlashBoot.ru - восстановление флешек, каталог утилит, статьи,

Рекомендую, перед запуском подобных утилит, отсоединить все остальные флешки и накопители из USB портов (чтобы программа ошибочно не отформатировала другую флешку).

2014-09-14 15_06_07-Low Level Formatter

2014-09-14 15_06_07-Low Level Formatter

 

После лечения подобной утилитой (низкоуровневого форматирования) «глючная» флешка стала работать как новая, легко и быстро определяясь в «моем компьютере».

2014-09-14 15_12_05-Компьютер

2014-09-14 15_12_05-Компьютер

 

PS

Собственно на этом все. Конечно, эта инструкция по восстановлению не самая простая (не 1-2 кнопки нажать), зато она может быть использована во многих случаях, практически ко всем производителям и разновидностям флешек…

Всего наилучшего!

7 простых и удобных способов

USB флешки являются надежными устройствами, но присутствуют определенные риски поломки. Причиной этого может быть неудачное форматирование, сбой микропрограммы, некорректная работа и т.д. Если повреждение имеет не физический характер, то его можно восстановить при помощи программных средств. Не все инструменты сейчас подходят для восстановления конкретных флешек. Если использовать неподходящую утилиту, то можно окончательно поломать накопитель. Если знать vid pid флешки, то можно определить тип контроллера, а затем выбрать подходящую программу.

Как узнать VID и PID флешки

Как узнать VID и PID флешки

Для идентификации производителя используется VID, а для идентификации устройства – PID. Все контроллеры на внешнем накопителе помечаются данными значениями. Некоторые производители могут пренебречь платной регистрацией ID-номеров, а просто написать их наугад. В основном это касается дешевой продукции из Китая.

Вначале следует убедиться, что флешка хоть каким-то способом определяется компьютером:

  1. Отображение в «Диспетчере задач», даже в виде неизвестного устройства.
  2. Видимость в списке подключенных устройств.
  3. Появление характерного звука при подключении.

В иных случаях шансы на определение VID и PID почти отсутствуют, а восстановить носитель не получится.

Для быстрого определения ID-номера подойдут специализированные программы. В виде варианта можно применить «Диспетчер устройств» или произвести разбор флешки. На внутренностях пишется подобная информация.

В картах MicroSD, SD, MMC отсутствуют значения VID и PID. Если применить к ним один из способов, то будут доступны идентификаторы кардридера.

Давайте рассмотрим способы, как узнать vid и pid флешки.

Способ 1: ChipGenius

Утилита прекрасно считывает необходимую техническую информацию не только с flash накопителей, но с большого количества иных устройств. В ChipGenius имеется собственная база VID и PID, откуда получается предположительная информация про устройство, когда по разным причинам контроллер не удается опросить.

Для использования программы необходимо выполнять следующую инструкцию:

  1. Запуск. Вверху окна выбрать флеш накопитель.
  2. Внизу от параметра «USB Device ID» будут показаны VID и PID.

Если использовать старые версии приложения, то возможна некорректная работа. В отдельных случаях софт может отказаться работать с интерфейсом USB 3.0.

Эта утилита обеспечивает более полную информацию про флешку, куда включаются идентификаторы VID и PID.

После запуска программы следуют выполнить следующие действия:

  1. Запуск софта. Выбрать параметр «Получить информацию о флешке».
  2. Необходимые идентификаторы будут вначале списка. Их необходимо выделить и скопировать путем нажатия «CTRL+C».

Способ 3: USBDeview

Главная функция приложения заключается в отображении списка всех устройств, которые когда-либо подключались к ПК. Про них дополнительно можно получить необходимую информацию.

Инструкция по использованию:

  1. Запуск утилиты.
  2. Для быстрого поиска подключенного накопителя необходимо нажать «Опции», а затем убрать выделение с пункта «Показывать отключенные устройства».
  3. Когда сузится круг поиска, нужно дважды кликнуть по флешке. Откроется таблица, где указывается VendorID и ProductID, что является VID и PID идентификаторами. Данные значения можно выделить и копировать.

Способ 4: ChipEasy

Утилита с интуитивно понятным интерфейсом, которая обеспечивает получение исчерпывающей информации про флеш накопитель.

После скачивания приложения выполняются действия:

  1. Запуск софта.
  2. Вверху рабочего пространства выбирается необходимый накопитель.
  3. Ниже приводятся его технические параметры. Во второй строчке отображается VID и PID. Их можно выделить и копировать.

Способ 5: CheckUDisk

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

Последующая инструкция:

  1. Запуск программы.
  2. Выбор требуемой флешки.
  3. Ознакомление с данными. Во второй строчке располагаются VID и PID.

Способ 6: Изучение платы

Когда приведенные выше способы не помогают, то можно перейти к радикальным мерам. Вскрывается корпус флешки, если есть такая возможность. Если VID и PID там не обнаружатся, то особую ценность будет иметь маркировка контроллера. Именно контроллер является важнейшей частью флешки. Он отличается квадратной формой и черным цветом.

Как использовать данные значения?

Теперь необходимо применить полученную информацию и осуществить поиск эффективной утилиты, чтобы начать работу с флешкой. В интернете существуют сервисы, которые имеют базы данных подобных программ:

  1. Вводятся VID и PID в соответствующей панели. Нажимается «Search».
  2. В результатах поиска будет необходимая информацию про накопитель и ссылки на подходящий вариант утилит.

Способ 7: Свойства устройства

Метод не очень практичный, но можно не использовать сторонний софт. Здесь подразумеваются следующие действия:

  1. Переход в список устройств. Нажатие правой кнопкой мыши по флеш накопителю и выбор «Свойства».
  2. Переход в кладку «Оборудование». Произвести два клика по имени флешки.
  3. Переход во вкладку «Сведения». Стоит выбрать в выпадающем меню «Свойства», а там «ИД оборудование». В разделе «Значения» будут указаны VID и PID.

Подобное можно выполнить в «Диспетчере устройств»:

  1. Вызов диспетчера устройств: в «Выполнить» ввести devmgmt.msc и нажать «ОК».
  2. Произвести поиск флешки, нажать по ней правой кнопкой, выбрать пункт «Свойства», а затем следовать вышеприведенной инструкции.

Неработающая флешка может отображаться в виде «Неизвестного USB устройства».

Наиболее быстрый способ – это использование одной из приведенных утилит. Если обходится без софта, то необходимо использовать свойства накопителя. В крайнем случае, VID и PID имеются на внутренней плате флешки.

Как убедиться, что флешка работает в USB 3.0? / Habr

В современной IT-индустрии часто случается так, что заверения производителя устройства относительно его функциональности не соответствуют действительности. От скепсиса по этому поводу перейдем к решению конкретной технической задачи…

Постановка задачи


В нашей тестовой лаборатории оказался USB Flash накопитель Kingston DataTraveler 3.0. Согласно информации производителя, устройство поддерживает USB 3.0. Проверим, так ли это на самом деле, не разбирая флешку и не нарушая гарантию.

Аппаратный тест


Присмотревшись к разъему, за четырьмя «ближними» контактами, обеспечивающими поддержку USB 2.0, мы, как и ожидалось, обнаружили пять «дальних» контактов, используемых только в режиме USB 3.0 Super Speed. Измеряем сопротивление сигнальных линий USB 3.0 относительно земли, получаем значения, отличные от бесконечности. Вывод: контакты USB 3.0 физически присутствуют и не заканчиваются тупиком. Измерение выполнялось омметром на пределе, используемом для проверки полупроводниковых диодов. Для доступа к «дальним» контактам разъема USB 3.0 можно сконструировать переходник или воспользоваться тонким и длинным щупом, например иглой. Полученный результат является необходимым, но не достаточным условием функционирования устройства в режиме USB 3.0 Super Speed. Может случиться так, что сигнальные цепи заканчиваются терминирующими резисторами, но не подключены к контроллеру. Поэтому переходим к следующему тесту – программному.

Программный тест


Эксперимент выполняем на достаточно новой, еще не исследованной плате Tyan S5533, построенной на чипсете Denlow.

Рис 1. Системная плата Tyan S5533 в ITX-формате

Чтобы исключить влияние драйверов, запускаемых в сеансе операционной системы, наш тест будет «экстремально низкоуровневым», запускаться будем под DOS, а результаты контролировать путем просмотра дампа Memory Mapped I/O регистров контроллера USB.

Последовательность действий такова.

1) Воспользовавшись бета-версией утилиты USB.EXE разработки IC Book Labs, определим адрес блока конфигурационных регистров контроллера XHCI, в нашем примере это bus=0, device=14h, function=0. Также определим базовый адрес блока операционных регистров в пространстве Memory Mapped I/O, в нашем примере он равен F7500000h.

Рис 2. Результаты работы утилиты USB.EXE. Адрес блока конфигурационных регистров XHCI: bus=0, device=14h, function=0. Базовый адрес операционных регистров XHCI равен F7500000h.

2) Как известно, в целях совместимости с программным обеспечением, не поддерживающим контроллер USB 3.0 XHCI, на данной платформе, по умолчанию, порты USB 3.0 обслуживаются контроллером USB 2.0 EHCI. Наша задача – перевести их в режим обслуживания контроллером USB 3.0 XHCI. Воспользуемся документацией Intel 8 Series / С220 Series Chipset Family Platform Controller Hub Datasheet и любой утилитой, позволяющей редактировать содержимое регистров системной логики.

Программируем регистр USB 3.0 Port Routing Mask Register. Записываем по адресу bus=0, device=14h, function=0, register=0DCh байт со значением 0FFh.

Программируем регистр USB 3.0 Port Super Speed Enable Register. Записываем по адресу bus=0, device=14h, function=0, register=0D8h байт со значением 0FFh.

Рис.3. Регистр USB 3.0 Port Routing Mask Register

Рис.4. Регистр USB 3.0 Port Super Speed Enable Register

3) Считываем и расшифровываем согласно рис.5 и рис.6 исходное состояние нескольких битовых полей из младших 16-битов 32-битного регистра PORTSCNUSB3 до подключения устройства к исследуемому порту. Регистр находится по смещению 0570h от базового адреса блока операционных регистров контроллера, его адрес F7500000h+0570h=F7500570h

Прочитанное значение = 02A0h = 0000.0010.1010.0000b
D0=Current Connect Status=0. Устройство не подключено.
D1=Port Enabled/Disabled=0. Порт не используется.
D[13-10]=Port Speed=0000b. Скорость не определена.

Рис.5. Регистр USB 3.0 Port Status and Control Register, биты [4-0]

Рис.6. Регистр USB 3.0 Port Status and Control Register, биты [13-10]

4) Подключаем USB 3.0 флэшку, затем повторно считываем регистр и расшифровываем те же битовые поля.

Прочитанное значение = 1203h = 0001.0010.0000.0011b
D0=Current Connect Status=1. Устройство подключено.
D1=Port Enabled/Disabled=1. Порт используется.
D[13-10]=Port Speed=0100b. Скорость равна 5.0 Gbit/S, режим USB 3.0 Super Speed работает.

5) Для самоконтроля, подключаем USB 2.0 флэшку к тому же порту, затем повторно считываем регистр и расшифровываем те же битовые поля. Прочитанное значение = 02A0h, что соответствует отсутствию подключения. Так и должно быть, регистр PORTSCNUSB3 «не видит» USB 2.0 устройство, так как оно обслуживается другой подсистемой и статус подключения доступен посредством другого регистра – PORTSCNUSB2, рассмотрение которого выходит за рамки наших исследований.

Резюме


Испытуемая флэшка действительно поддерживает режим USB 3.0.

Если формализовать и запрограммировать описанные действия в виде DOS-программы или UEFI-приложения, получится небольшая утилита, позволяющая быстро определить, в каком скоростном режиме работает USB устройство. Для упрощения нашего примера, мы реализовали его для частного случая – подсистемы USB платы Tyan S5533 и использования первого порта, поэтому адрес регистра PORTSCNUSB3 в нашем примере – константа. В общем случае, для того, чтобы программа была работоспособна на всех платформах, адрес регистра PORTSCNUSB3 должен вычисляться на основании содержимого полей XHCI Capabilities, в соответствии со спецификацией USB 3.0 XHCI. С другой стороны, достигнуть универсальности можно значительно проще и изящнее, используя UEFI-протоколы вместо прямого взаимодействия с регистрами контроллера.

Источники информации


UPD


В качестве «подопытного кролика» использовался девайс Kingston DataTraveler 100 G3, объемом 16 GB:

UPD-II


1. Дескрипторы устройств, доступные для просмотра с помощью различных информационных утилит индицируют потенциальные возможности устройства. Скоростной режим, установленный для USB порта при подключении устройства, не всегда соответствует возможностям, декларированным в дескрипторах.

Устройство, декларирующее поддержку USB 3.0, может работать в режиме USB 2.0 из-за заводских недоработок, неисправного кабеля и многих других причин. При этом содержимое дескрипторов может указывать на поддержку режима USB 3.0.

Спецификацией USB рекомендовано, чтобы устройство выдавало разный набор дескрипторов в зависимости от реальной установленной скорости. Но у нас нет гарантии, что эта рекомендация соблюдена разработчиками флешки.

Конечно, содержимое дескрипторов устройства — это более достоверный источник информации, чем надпись на флешке и клятвы продавца. Но по причинам, указанным выше, достоверность отлична от 100 процентов.

Именно стремление довести достоверность до 100% побудила нас на экстремально низкоуровневые исследования.

2. Другой метод – проследить в диспетчере устройств, какой контроллер является родительским для флешки (USB 2.0 EHCI или USB 3.0 XHCI), также неэффективен, так как, согласно спецификации, контроллер USB 3.0 XHCI может поддерживать все виды устройств: от Low-Speed до Super Speed. Поэтому, из того, что для флешки родительским контроллером является xHCI не следует, что устройство работает в режиме Super Speed.

Как узнать VID и PID флешки

Как узнать VID и PID флешки

USB-флешки – устройства надежные, но риск поломки есть всегда. Причиной тому может быть некорректная работа, сбой микропрограммы, неудачное форматирование и так далее. В любом случае, если это не физическое повреждение, можно попытаться ее восстановить программными средствами.

Проблема в том, что не каждый инструмент подходит для восстановления конкретной флешки, и использование неправильной утилиты может окончательно вывести ее из строя. Но зная VID и PID накопителя, можно определить тип его контроллера и подобрать подходящую программу.

Как узнать VID и PID флешки

VID служит для идентификации производителя, PID – идентификатор самого устройства. Соответственно, каждый контроллер на съемном накопителе помечен этими значениями. Правда, некоторые недобросовестные производители могут пренебрегать платной регистрацией ID-номеров и присваивать их просто наугад. Но в основном это касается дешевой китайской продукции.

Для начала убедитесь, что флешка хоть как-то определяется компьютером: слышен характерный звук при подключении, она видна в списке подключенных устройств, отображается в «Диспетчере задач» (возможно, как неизвестное устройство) и прочее. В противном случае шансов мало не только на определение VID и PID, но и на восстановление носителя.

ID-номера можно быстро определить с помощью специализированных программ. Как вариант, можно использовать «Диспетчер устройств» или просто разобрать флешку и найти информацию на ее «внутренностях».

Обратите внимание, что карты MMC, SD, MicroSD не имеют значений VID и PID. Применяя к ним один из способов, Вы получите только идентификаторы кардридера.

Способ 1: ChipGenius

Прекрасно считывает основную техническую информацию не только с флешек, но и со многих других устройств. Интересно, что ChipGenius имеет собственную базу VID и PID, чтобы выдать предположительную информацию об устройстве, когда по какой-то причине не удается опросить контроллер.

Скачать ChipGenius бесплатно

Чтобы воспользоваться данной программой, сделайте следующее:

  1. Запустите ее. В верхней части окна выберите флешку.
  2. Снизу напротив значения «USB Device ID» Вы увидите VID и PID.

Определение VID и PID через ChipGenius

Обратите внимание: старые версии программы могут работать некорректно – скачивайте последние (по ссылке выше можно найти именно такую). Также в некоторых случаях она отказывается работать с портами USB 3.0.

Данная программа дает более подробную информацию о накопителе, конечно же, включая VID и PID.

Официальный сайт Flash Drive Information Extractor

После того, как Вы загрузили программу, сделайте следующее:

  1. Запустите ее и нажмите кнопку «Получить информацию о флешке».
  2. Запуск измерения параметров в Flash Drive Information Extractor

  3. Нужные идентификаторы будут в первой половине списка. Их можно выделить и скопировать, нажав «CTRL+C».

Определение VID и PID через Flash Drive Information Extractor

Способ 3: USBDeview

Основная функция этой программы – отображение списка всех устройств когда-либо подключаемых к данному ПК. Дополнительно можно получить подробную информацию о них.

Скачать USBDeview для 32-битных операционных систем

Скачать USBDeview для 64-битных операционных систем

Инструкция по использованию заключается в следующем:

  1. Запустите программу.
  2. Для того, чтобы быстрее найти подключенный накопитель, нажмите «Опции» и уберите галочку с пункта «Показывать отключенные устройства».
  3. Настройка отображения списка устройств в USBDeview

  4. Когда круг поиска сузился, дважды кликните по флешке. В открывшейся таблице обратите внимание на «VendorID» и «ProductID» – это и есть VID и PID. Их значения можно выделить и скопировать («CTRL» + «C»).

Определение VID и PID через USBDeview

Способ 4: ChipEasy

Интуитивно понятная утилита, которая позволяет получить исчерпывающую информацию о флешке.

Скачать ChipEasy бесплатно

После скачивания сделайте вот что:

  1. Запустите программу.
  2. В верхнем поле выберите нужный накопитель.
  3. Ниже Вы увидите все его технические данные. VID и PID находятся во второй строке. Можно их выделить и скопировать («CTRL+C»).

Определение VID и PID через ChipEasy

Способ 5: CheckUDisk

Простая утилита, которая выводит основную информацию о накопителе.

Скачать CheckUDisk

Дальнейшая инструкция:

  1. Запустите программу.
  2. Сверху выберите флешку.
  3. Снизу ознакомьтесь с данными. VID и PID расположены на второй строке.

Определение VID и PID через CheckUDisk

Способ 6: Изучение платы

Когда ни один из способов не помогает, то можно пойти на радикальные меры и вскрыть корпус флешки, если это возможно. VID и PID Вы, может, там и не обнаружите, но маркировка на контроллере имеет такую же ценность. Контроллер – важнейшая часть USB-накопителя, имеет черный цвет и квадратную форму.
Модель контроллера флешки
Что делать с этими значениями?

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

  1. Введите VID и PID в соответствующие поля. Нажмите кнопку «Search».
  2. Ввод идентификаторов на iFlash

  3. В результатах Вы увидите общую информацию о флешке и ссылки на подходящие утилиты.

Результаты поиска на iFlash

Способ 7: Свойства устройства

Не такой практичный метод, но зато можно обойтись без стороннего софта. Он подразумевает следующие действия:

  1. Перейдите в список устройств, нажмите правой кнопкой по флешке и выберите «Свойства».
  2. Переход в свойства флешки в Windows

  3. Перейдите во вкладку «Оборудование» и дважды кликните по названию носителя.
  4. Переход в свойства устройства в Windows

  5. Перейдите во вкладку «Сведения». В выпадающем списке «Свойство» выберите «ИД оборудования» или «Родитель». В поле «Значение» можно будет разобрать VID и PID.

Определение VID и PID через свойства устройства в Windows

То же самое можно сделать через «Диспетчер устройств»:

  1. Для его вызова введите devmgmt.msc в окне «Выполнить» («WIN» + «R»).
  2. Вызов Диспетчера устройств на Windows

  3. Найдите флешку, кликните по ней правой кнопкой и выберите «Свойства», а дальше все по приведенной выше инструкции.

Переход в свойства устройства в Диспетчере устройств
Обратите внимание, что неработающая флешка может отображаться как «Неизвестное USB-устройство».

Быстрее всего, конечно же, будет использовать одну из рассмотренных утилит. Если обходиться без них, то придется покопаться в свойствах запоминающего устройства. На крайний случай VID и PID всегда можно найти на плате внутри флешки.

Напоследок скажем, что определение этих параметров будет полезным для выполнения восстановления съемных накопителей. На нашем сайте можно найти подробные инструкции для представителей самых популярных брендов: A-Data, Verbatim, SanDisk, Silicon Power, Kingston, Transcend.

Переход в свойства устройства в Диспетчере устройствМы рады, что смогли помочь Вам в решении проблемы.
Переход в свойства устройства в Диспетчере устройствОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

ДА НЕТ

Flash Drive Information Extractor 8.5.0.590 / FlashBoot.ru

Бесплатная программа для получения информации о флешках.
Программа обладает возможностью определения модели USB контроллера, модели и типа памяти для многих современных USB флешек. Особенность программы в том, что эти данные определяются напрямую, а не по косвенным признакам типа VID/PID.
Во многих случаях программа сработает даже если отсутствует буква диска флешки (поврежден загрузочный сектор или разрушена файловая система).
При помощи программы можно получить следующие данные:
модель контроллера
возможные варианты установленных во флешке чипов памяти
тип установленной памяти
максимальный потребляемый флешкой ток
версия USB
полный физический объем диска
объем диска, сообщаемый операционной системой
VID и PID
Query Vendor ID
Query Product ID
Query Product Revizion
Controller Revision
Flash ID (не для всех конфигураций)
Chip F/W (для некоторых контроллеров)
некоторые другие параметры, полезные для специалистов.
==============================================
Программа работает только с флешками и не реагирует на другие USB устройства, такие как кардридеры (SD карты в любом оформлении), смартфоны, MP3 плееры, фотоаппараты и тому подобные. Иногда кардридеры оформляются в виде флешек (например, некоторые модели Verbatim).
В этих случаях программа или не отобразит никакой информации, или не определит тип контроллера и чип памяти.
Не определяются также флешки, представленные в виде единственного CD-диска или фиксированного диска (fixed disk, HDD).
Рекомендуется запускать программу не раньше, чем через 20-30 секунд после того, как флешка вставлена в USB порт, иначе флешка может быть не до конца инициализирована системой.
Не следует проводить измерения одновременно с работой других программ низкоуровневого доступа к флешке, например, утилит производителей контроллеров. В этом случае данные будут определены неправильно. После работы с такими программами нужно обязательно извлечь флешку из USB порта.
Иногда для определения параметров требуется значительное время (до 30 секунд).
Если при определении параметров программа «зависает» (это иногда случается, если флешка неисправна), следует, не пытаясь закрыть программу, просто вынуть флешку из USB-разъема. Данные флешки после этого, как правило, программой определяются.
Рекомендуется наличие соединения с интернетом, так как в некоторых случаях программа может посылать данные флешки на наш web-сервер для анализа.
Программа сохраняет свои служебные данные в раздел реестра Windows \HKEY_CURRENT_USER\Software\AntSpec\GetFlashInfo\.

2 изображения

Немного реверс-инжиниринга USB flash на контроллере SK6211 / Habr

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

Дабы немного развеять иллюзии, попробуем методами реверс-инжиниринга проанализировать алгоритмы работы NAND контроллера производства SKYMEDI SK6211 на примере готового изделия в виде USB flash 8Gb, выпущенной компанией Kingston.


рис. 1

Для полноценного анализа сначала создадим имитацию использования накопителя посредством записи большого числа файлов с последующим частичным случайным удалением и повторными записями. Следом пропишем половину LBA диапазона нулями, но кроме нулей в каждый «сектор» поместим по смещению 0x0 DWORD с его номером. Вторую половину логического диапазона пропишем паттерном 0x77 (данный паттерн относительно удобен для анализа алгоритмов зашумливания данных).

Выпаиваем обе микросхемы памяти NAND flash. В этом экземпляре они производства Samsung, маркировка K9HBG08U1M в исполнении TSOP-48. Эксплуатационные характеристики: размер страницы — 2112 байт, размер блока – 128 страниц, количество блоков в плоскости – 2048, количество плоскостей в банке – 4, количество физических банков – 2. Суммарная емкость двух микросхем 2112*128*2048*4*2*2=8 858 370 048 байт.


рис. 2

На рис. 2 показан принцип нумерации блоков (блок состоит из 128 страниц). Стоит отметить, что данная микросхема может одновременно выполнять операции программирования/стирания сразу в двух плоскостях (вариации 0,1 и 2,3). Те, кто желает более подробно изучить особенности микросхем и нюансы работы с ними могут поискать техническую документацию (datasheet), которая в данное время уже доступна широкой публике K9HBG08U1M.pdf.

Для чтения микросхем используем NAND reader входящий в состав комплекса Flash Extractor. В те времена, когда контроллер SK6211 был популярен, этот комплекс, предназначенный для восстановления данных, был практически единственным аналитическим инструментом, который был в свободной продаже.


рис. 3

Приступая к анализу алгоритмов распределения данных контроллером SK6211, узнаем о его возможностях параллельной работы с микросхемами из рекламных источников, а также о несколько отличающихся двух видах кодов коррекции ошибок (ЕСС). В данной публикации, в силу обширности темы, опустим описание особенностей работы кодов коррекции ошибок, и всю математическую составляющую, связанную с ними.

Первая задача в анализе данных установить признаки зашумливания записываемых в память данных. Для этого выполним поиск записанного нами паттерна 0x77 и попробуем обнаружить множество страниц, сплошь заполненных оным. Но результаты поиска к успеху не приводят, что позволяет сделать вывод, что данные записаны в измененном виде. При пролистывании дампов обнаруживаем большое количество страниц, заполненных значением 0x88 кроме последних 64 байт, а также большое количество страниц, заполненных сплошь 0xFF кроме 4 байт в начале каждого 512 байтного блока и последних 64 байт (в границах страницы 2112 байт). Исходя из того, какие паттерны мы записывали на USB flash, вынесем предположение, что имеет место инверсия данных. Прежде, чем выполнять инвертирование данных, проведем анализ содержимого NAND страниц для установления расположения служебных данных. В местах заполнения паттерном весьма просто отличить наше инвертированное однородное значение от служебных данных, которые не состоят сплошь из одинаковых последовательностей байт.


Рис 4.

SK6211 в используемых страницах размещает 2048 байт данных (DA) и 64 байта отводит для хранения служебных данных (SA). Хорошо прослеживаются 4 группы данных по 16 байт, что намекает на применимость их к четырем блокам по 512 содержащихся в странице.
Выведем содержимое первой 16- байтной группы из нескольких тысяч страниц.


рис. 5

На рис. 5 видно, что упорядоченными остаются первые 4 байта, и хаотичное содержимое располагается в остальных 12. Исходя из этого, можно предположить, что последние 12 байт в каждой строке содержат код коррекции ошибок. Зная, что блок, которым оперирует NAND микросхема, равен 128 страницам, произведем расчет размера блока 2112*128=270 336 (0x42000) байт. От 0x00108000 шагнем на один блок вперед, то есть к странице по адресу 0x0014a000.


рис. 6

из содержимого рис. 5 и рис. 6 очевидно, что 3-й байт играет роль номера страницы для блока NAND памяти. Это предположение не опровергается при просмотре всех непустых блоков NAND памяти.


рис. 7

В 0 и 1 байтах служебных данных в каждой странице на протяжении двух блоков неизменные значения. Можно предположить, что эта пара байт отведена для номера блока. Выведем все значения для всех блоков и обнаружим, что в младшем полубайте первого байта используются значения от 0x0 до 0x3, а в нулевом байте пробегают значения от 0x00 до 0xFF. Значения старшего полубайта в первом байте имеют более разнообразные значения. Предположим, что для нумерации используется 10 бит, которые формируются из двух младших битов первого байта служебной зоны в качестве старшей части и 8 бит из нулевого байта в качестве младшей части. Проверим достоверность предположений посредством вывода номеров для первых 0x400 блоков. Отсортировав их в порядке возрастания, заметим, что последовательно выстраивается цепочка из номеров от 0x000 до 0x3C3, что подтверждает корректность предположения. Выполнив аналогичные проверки для остальных групп по 0x400 блоков окончательно исключим вероятность ошибочной интерпретации.

Выполним инвертирование данных, за исключением служебных, и проанализируем механизм распараллеливания данных. Проверим предположение о симметричности записи в разные банки посредством анализа логических номеров в блоках в каждом дампе. В случае SK6211 предположение о симметричной записи подтверждено. Найдем блок с логическим номером 0x000, в котором каждый 512 блок данных содержит порядковый номер и нули в качестве содержимого. Опираясь на фактическое расположение записанных нами данных, построим таблицу положения данных.


Рис. 8

Согласно размещения данных можем заметить, что контроллер для данного набора микросхем реализует максимально эффективное распараллеливание для получения высокой производительности. С учетом механизма распараллеливания данных рассчитаем размер блока, которым оперирует система трансляции в микрокоде накопителя 0x42000*8=0x210000 байт. Если отбросить служебные данные, то размер блока 0x40000*8=0x200000 (2 097 152) байт.

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


рис. 9

Первый шаг – устранение распараллеливания между плоскостями посредством постраничного объединения четных блоков с нечетными.

Второй шаг – объединение с удвоенным размером страницы 0 и 1 банков каждой из микросхем NAND памяти.

Третий шаг – объединение с учетверенным размером страницы обеих микросхем NAND памяти.
При анализе содержимого блоков по 2МБ в результирующем дампе наблюдается монотонно возрастающая последовательность пронумерованных нами «секторов», что подтверждает корректность анализа алгоритма распараллеливания данных.

Далее на сборном дампе выясним порядок расположения блоков и организацию в логические банки.


Рис. 10

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

Полный размер микросхем 8 858 370 048 (0x210000000) байт размер блока в трансляторе 2 162 688 (0x210000). Всего блоков 0x210000000/0x210000=0x1000 (4096). Исходя из разрядности используемых чисел и фактической нумерации, номера блоков не могут превышать 0x400 (1024) из этого можно сделать вывод о существовании 4 логических банков в трансляции. Условно разделим результирующий дамп на 4 равные части (по 0x400 блоков), оценим в каждой части номера блоков и на основании этого предположим количество блоков, включенных в трансляцию в каждом логическом банке.


рис. 11

Обратим внимание, что размер каждого логического банка заметно меньше 0x400. Эта необходимость диктуется тем, что «лишние» блоки в некотором количестве нужны для служебных структур и, самое главное, для эффективной работы механизма выравнивания износа. Механизм реализуется по принципу, что каждый блок, в котором изменяется содержимое, будет исключен из трансляции и попадет в резервные, а его место займет блок, который до записи в него измененных данных не был включен в трансляцию и числился резервным. С учетом счетчиков записи в каждый блок механизм работает достаточно эффективно. Ахиллесовой пятой данного алгоритма будет обилие неизменяемых данных, тогда при записях в ротации будет участвовать относительно небольшое число блоков.

Данный принцип весьма наглядно подтверждается расположением блоков в дампе. Согласно рис. 10 можно заметить, насколько нелинеен разброс блоков, из которых реализуется логическое пространство. Припаяв микросхемы NAND памяти обратно и подключив USB flash к компьютеру, выполним некоторое число записей в первые 4096 «секторов», снова выпаяем и прочитаем микросхемы NAND памяти, проведем сбор и оценим порядок блоков в результирующем дампе.


рис. 12

Как можем заметить при неизменном порядке остальных блоков, блок с логическим номером 0x000 «перекочевал» в другое место. По старому адресу все страницы блока, как в области пользовательских данных, так и в области служебных сплошь заполнены 0xFF, что свидетельствует об очистке данного блока и исключении из трансляции.

Сравнивая оба результирующих дампа, кроме измененных данных в нулевом блоке будут изменения и в служебных данных, проанализировав которые мы можем установить, каким образом сформирована структура транслятора.

Подобный метод анализа позволяет получить достаточно данных об алгоритме работы USB NAND контроллера, чтобы применять их для восстановления информации из поврежденных накопителей, основанных на исследуемом контроллере, а также позволяет увидеть в действии механизмы распараллеливания данных и выравнивания износа. Также, основываясь на устройстве транслятора и анализе USB flash (дополнительные мероприятия по анализу проводим на накопителе, отформатированном в FAT32 и заполненном несколькими тысячами файлов), можно заметить, что для блоков со структурами файловой системы нет какого-либо привилегированного выделения блоков.

Следующая публикация: Восстановление данных с внешнего жесткого диска Seagate FreeAgent Go
Предыдущая публикация: Восстановление данных из поврежденного массива RAID 5 в NAS под управлением Linux

Leave a comment