От чего дохнут USB девайсы
Все флешки, за исключением монолитных конструкций, устроены однотипно и довольно просто: USB-разъём, печатная плата, на ней — десяток-другой элементов обвязки, контроллер и от одного до восьми чипов памяти (на моделях большой ёмкости они часто припаяны попарно, этакими «бутербродами»). Ремонтные технологии несложны и доступны каждому, у кого есть паяльник и мультиметр. Минимальные навыки обращения с электроникой тоже не будут лишними.
Успешный ремонт приносит не только законное моральное удовлетворение, но и материальную выгоду. Появившийся «лишний» накопитель позволяет более гибко управлять своими данными (например, дублировать) и вообще чувствовать себя спокойнее. По наблюдениям, реанимированные девайсы живут даже дольше новых — слабые места уже устранены, да и хозяин обращается с ними аккуратнее.
Очень часто владельца сломанной флешки интересует не она сама, а записанные на неё данные. Технологии восстановления данных (DR) имеют принципиальные отличия от ремонта как такового, поскольку заботиться о работоспособности всего устройства не требуется. Микросхемы флеш-памяти, на которых и хранится информация, выходят из строя весьма редко (1-2% аварийных случаев). От превратностей судьбы они защищены как механически — корпусом и самой конструкцией флешки (чипы обычно удалены от USB-разъёма, самого напряженного узла), так и электрически — контроллером и обвязкой. Последние берут на себя все риски взаимодействия по интерфейсу, в том числе переполюсовку, броски напряжения или разряды статики. То же справедливо и для карт памяти.
Поэтому «сырые» данные на чипах, как правило, сохраняются, и самый надёжный путь — отпаять все чипы, вычитать их на физическом уровне с помощью специального устройства (программатора, или считывателя) и собрать из полученных дампов образ файловой системы. Последний этап — самый сложный, поскольку требуется воспроизвести алгоритм работы контроллера. Производители вовсе не горят желанием раскрывать подобные вещи, так что приходится проводить обратную инженерную разработку — пресловутый reverse engineering.
Результаты трудоёмких раскопок попадают в базу данных, называемую иногда системой решений. Коллективными усилиями накоплено более 3000 решений, позволяющих эмулировать почти любой контроллер. Для сборки применяется специализированное ПО, весьма недешёвое (порядка 1 000 евро) и непростое в освоении. На территории бывшего СССР, а также во многих других странах наибольшую популярность завоевали два программно-аппаратных комплекса: Flash Extractor от московской компании «Софт-Центр» и PC-3000 Flash SSD Edition от ACE Lab (этот ростовский разработчик известен также своим инструментарием для ремонта жёстких дисков).
Понятно, что подобные технологии — прерогатива специалистов. Но это единственный вариант в тех случаях, когда сгорел контроллер или повредилась служебная информация на чипах. Флешка тогда вообще не опознаётся либо не даёт доступа к данным, причём даже замена контроллера заведомо исправным не помогает (эффективность этой устаревшей технологии — всего 15-20%).
Если же аппаратные проблемы не затрагивают контроллер и микропрограмму, то после ремонта данные вновь становятся доступными — одним выстрелом удаётся убить двух зайцев. Правда, столь выгодный «дуплет» возможен лишь в простейших случаях, вроде сгоревшего предохранителя или другого элемента обвязки. Погнутый разъём USB или надломленная плата (типовые поломки, с которыми флешки приносят в ремонт) к ним, увы, не относятся. Зачастую в таких ситуациях слетает прошивка, и, даже починив плату, до файлов не доберёшься.
Причина в самих пользователях: с повреждённой флешкой они пытаются работать, прижимая разъём рукой. И зря — стабильного контакта так всё равно не добиться, зато от дребезга (он равносилен многократному подключению и отключению) блокируется контроллер. Флешка перестаёт определяться, после чего простые решения уже не проходят.
Приходится выбирать — нужна ли «инфа» или сам накопитель. В первом случае пользователя ждёт профессиональное восстановление данных (если они того стоят…), а во втором — ремонт, скорее всего самостоятельный. Он приводит флешку к состоянию «как новая», уничтожая всё ранее записанное. Так что ремонтные и DR-технологии в целом несовместимы.
Так, у карт SD встречается расслоение половинок корпуса и (чаще всего) потеря ползунка, блокирующего запись. В последнем случае карта становится read-only, ничего записать на нее нельзя (ползунок сам не является переключателем, он просто механически размыкает цепь запрета записи в кардридере, так что на некоторых устройствах запись возможна). SD с расслоившимся или погнутым корпусом бывает трудно вставить в слот и, что важнее, извлечь из него. Применение силы (пинцеты, плоскогубцы и тому подобное) ситуацию только ухудшает. Также есть вероятность, что вся начинка карты рано или поздно выпадет из корпуса — это с большой вероятностью добьёт устройство.
Электрические неисправности флешек — это в первую очередь выход из строя контроллера («выгорание»), а также различные дефекты SMD-элементов обвязки: фильтров, предохранителей, резисторов, конденсаторов, стабилизатора, кварца. У этих деталей наблюдается обрыв, пробой, ухудшение параметров (к примеру, снижение выходного напряжения стабилизатора с 3,3 до 2,5-2,6 В, при которых контроллер уже не запускается). Сюда же можно отнести и проблемы с платой, в том числе повреждение токоведущих дорожек и плохой контакт деталей. Нередко в ходе эксплуатации проявляются дефекты заводской сборки (не до конца пропаянные соединения, холодная пайка, коррозия от неотмытого флюса).
Контактных проблем стало заметно больше после введения директивы Евросоюза RoHS (она направлена на вывод из оборота свинца, ртути и других вредных веществ). Экологичные бессвинцовые припои оказались капризными в применении: они хуже растекаются и смачивают контактные площадки, имеют повышенную температуру плавления, менее прочны. Качественная пайка ими требует высокой производственной культуры, а мелкие китайские фабрики этим как раз не отличаются…
В подобных случаях флешка чаще всего не подаёт признаков жизни, но иногда определяется в компьютере как «Неизвестное USB-устройство». В частности, это бывает при ненадёжном контакте микросхем флеш-памяти с платой (частый случай в последнее время — чуть изогнётся флешка в неловких руках, и одна из ножек отходит). При плохой пайке устройство может работать лишь в определённом положении, и то если нажимать рукой на корпус (обычно в районе разъёма USB). Случается, что дефекты проявляются лишь с прогревом, а холодная флешка работает нормально. Со временем интервалы работоспособности всё сужаются и в конце концов дело доходит до полного отказа.
К электрическим повреждениям флешек и карт памяти можно причислить и попадание внутрь воды — проблемы чаще всего вызывает не она сама, а недостаточная просушка устройства перед использованием. Стоит подать питание на отсыревшую флешку, и контроллер легко выходит из строя, причина — токи утечки между выводами. Конечно, длительное воздействие воды, особенно морской, может вызвать и банальную коррозию, но это не фатально: сообщалось, что карта памяти из фотоаппарата-«утопленника» заработала после года пребывания на морском дне.
Причины электроповреждений — нестабильное питание, разряды статического электричества с тела пользователя или корпуса ПК, а также перегрев деталей накопителя, в первую очередь контроллера (чипы памяти выдерживают до 100-120 °C и «горят» редко). Перегреву способствуют плохое охлаждение в тесном пластиковом корпусе, длительная активная работа или даже просто холостой ход. Совет: неиспользуемую флешку вынимайте из USB-порта, а карту памяти из слота кардридера — в зависимости от драйвера ОС они могут греться довольно сильно, и это слабо прогнозируемо.
Особенно опасно сочетание нескольких факторов риска. Например, при повышенном напряжении 5 В флешка греется значительно сильнее, и интенсивный поток данных, особенно на запись, легко может её добить. Чем производительнее (и дороже) модель, тем больше в этих условиях риск перегрева. Карт памяти это тоже касается — были сообщения о порче скоростных SD во время серийной фотосъёмки или сброса фильмов.
Сокращают жизнь флешкам и дешёвые корпуса десктопов: в них порты USB на передней панели подключены к материнской плате неэкранированным шлейфом, собирающим все наводки. Это даёт лишнюю нагрузку на подключённое устройство, что сказывается на его работе — сбои, замедления и повышенный нагрев. Выход из строя в таких условиях вполне вероятен, особенно при незаземленной электропроводке.
Проявлению дефектов пайки способствуют повышенные механические нагрузки, особенно знакопеременные (согнул-разогнул), а также падения и удары. Хотя флешки и считаются ударопрочными накопителями, в их схеме обычно присутствует кварцевый резонатор. А это (в типовых SMD-корпусировках) — довольно хрупкая деталь, не выдерживающая даже падения с метровой высоты. При треснувшем или отошедшем от контактов кварце флешка опознаётся как «Неизвестное USB-устройство» с нулевыми кодами VID/PID и к работе непригодна. Плохие контакты контроллера проявляются точно так же; нередки и чисто программные глюки (подробности см. ниже).
Здесь уже требуется аппаратный ремонт. Без мультиметра, паяльника на 25-30 Вт с тонким жалом и технического фена не обойтись: следует прозвонить соединения, укрепить пайку (часто помогает прогрев платы горячим воздухом), восстановить повреждённые контакты или токоведущие дорожки — в первую очередь те, что примыкают к USB-разъему. Вышедшие из строя детали заменяются. Речь идёт об элементах обвязки — чаще всего резисторах (включая нулевые номиналы, играющие роль перемычек), кварце и стабилизаторе 3.3 В.
Раньше у флешек часто обрывались предохранители по питанию и индуктивные фильтры помех в сигнальных цепях. Это лечилось подбором аналогов или даже банальными шунтами, а пробитый дискретный стабилизатор менялся без проблем (цена вопроса 20 руб.). Правда, иногда при включении плата дымилась — значит, первым вышел из строя контроллер, а заменённая деталь сработала как предохранитель.
В современных моделях таких элементов уже нет — производители их «оптимизировали». Все удары принимает на себя контроллер. Туда же интегрирован и стабилизатор, так что его пробой (опознаётся по моментальному и нестерпимому нагреву чипа) требует замены контроллера, причём на точно такую же модель с той же версией прошивки (второй-третий ряды маркировки чипа). Нерабочий кварц опознаётся по отсутствию генерации 12 МГц; для этого нужен хотя бы простенький осциллограф типа памятного радиолюбителям C1-94.
Приятное исключение — новые модели флешек с интерфейсом USB 3.0. Скоростное устройство потребляет значительный ток (до 900 мА по стандарту, в реальности 150-250 мА в простое и 300-600 мА под нагрузкой), так что конструкторы вернулись к дискретному стабилизатору, на сей раз импульсного типа, а также дроссельным фильтрам. С такой элементной базой флешки стали более ремонтопригодными.
Чипы флеш-памяти в большинстве случаев заменять нецелесообразно — они сравнительно дороги, а после перепайки флешке требуется полноценный программный ремонт, который может и не получиться, если нет достаточного опыта или нужного софта. Контроллер тоже штука своеобразная: в розницу такие микросхемы не продаются (не будете же вы заказывать партию из 1000 штук), так что добыть исправные экземпляры можно только из доноров. Разбирать рабочий накопитель довольно глупо, так что остаются флешки, умершие по другой причине. Учитывая нынешнее разнообразие контроллеров (каждая модель выпускается в нескольких модификациях, которые часто несовместимы по прошивке), доноров потребуется немало — минимум несколько десятков. Вряд ли у непрофессионального ремонтника найдутся подобные залежи.
Не забудем и про технологические сложности — для любителя они бывают существенными. Аккуратно, без перекоса, «соплей» и неконтактов припаять 64 или 48 выводов с шагом в 0,4-0,5 мм (типовая корпусировка контроллеров и чипов памяти соответственно) с ходу не так уж просто, особенно если инструменты не лучшие. Ещё и поэтому аппаратный ремонт в большинстве случаев ограничивается заменой элементов обвязки.
Что касается подмокших флешек, включая и «утопленников», то к ним применима трёхэтапная технология, разработанная для мобильных телефонов. Плата вначале отмывается от солей и грязи в чистой, желательно дистиллированной воде, затем погружается в изопропиловый спирт (он имеет концентрацию 99,7% и активно вытесняет воду из капиллярных щелей, имеющихся, например, под микросхемами) и наконец, сушится тёплым воздухом. Аналогично поступают с деталями корпуса. Окончательная просушка перед сборкой должна длиться несколько часов.
Кстати, первым, кто применил абсолютированный спирт в качестве эксикатора, был Д.И. Менделеев. В 1890 г. он предложил заменить сушку пироксилина (основы бездымного пороха) обезвоживанием его спиртом, что является совершенно безопасным. С тех пор во всем мире эта стадия производства пороха проводится только по способу Менделеева.
Программные неисправности флешек встречаются нередко. В этих случаях накопитель внешне цел, при подключении в порт USB подаёт признаки жизни — моргает индикатором и даже определяется в ОС, но доступа к данным не даёт. Опознавшийся логический диск имеет некорректную ёмкость (нулевую, 512 байт, 1 Мбайт или пару терабайт), а при каждом обращении к нему выдаются сообщения «Вставьте диск», «Произведите форматирование», «Нет доступа к диску» и прочее в таком же роде.
Основная причина — сбой микропрограммы, в обиходе часто называемой прошивкой. Прошивка состоит из микрокода контроллера и служебных данных на микросхемах флеш-памяти. Микрокод закладывается в контроллер ещё на этапе изготовления (обычно это небольшое масочное ПЗУ), при эксплуатации не меняется и портится редко — если только вместе с чипом (но тогда это уже аппаратная проблема). Зато «служебка» (это в первую очередь транслятор, а также параметры памяти и различные идентификаторы и флаги) переписывается довольно часто, отчего она подвержена всяческим искажениям.
Чаще всего к проблемам приводят сбои питания в тот момент, когда контроллер занят какой-либо внутренней операцией с флеш-памятью. К примеру, записывает туда обновлённые служебные поля или перестраивает транслятор (рутинная процедура для выравнивания износа). Отметим, что индикатор активности при этом не горит, то есть, с точки зрения пользователя, флешка ничего не делает и церемониться с ней необязательно. И вот происходит неожиданное извлечение её из USB-порта, либо случается провал напряжения 5 В (причина — слабый блок питания ПК, а чаще плохой контакт в разболтанном разъёме), или же статика пробивает на корпус, отчего контроллер зависает.
Во всех этих случаях операция записи остаётся незавершённой, а данные во флеш-памяти — несогласованными, что и приводит к неприятным последствиям. Прежде всего, страдает целостность транслятора — в нём образуются дыры, и единообразная адресация нарушается. При следующем включении контроллер обнаружит проблему и заблокирует память. «Сто раз вытаскивал флешку просто так, и никаких проблем, и вот на тебе — такой облом!» — типичная реакция незадачливого владельца.
Есть и другая причина отказа флешек, связанная с нарастанием числа сбойных ячеек. Современная флеш-память типа MLC/TLC NAND довольно ненадёжна, и в чипы закладывается значительный резерв по ёмкости. Имеется в виду, что по мере выхода из строя дефектные блоки оперативно (через транслятор) заменяются резервными, причём для ОС такие переназначения незаметны. Дефект-менеджмент — одна из главных функций прошивки, и если интенсивность «ремапа» превышает определённый порог, то микропрограмма сама ставит блокировку, чтобы предотвратить дальнейшие разрушения.
Иногда флешка блокируется более мягко — только на запись. Данные видны и читаются, но при попытках создания файла, стирания или форматирования выдаётся сообщение «Диск защищён от записи». Подобный ход со стороны контроллера вполне разумен — память NAND повреждается в основном при записи, а чтение в легких случаях можно и оставить. К тому же ущерб для пользователя минимизируется. Нередко так ведут себя и карты памяти: скажем, для деградирующей microSD самопроизвольное переключение в режим read-only — почти что обычное дело.
Бывает, что сбойная область на флешке (часто небольшого размера, порядка 0,2-4 Мбайт) не только не приводит к блокировке, но и не даёт ошибки при записи и последующем считывании данных. Вот только читается совсем не то, что было записано. Для пользователя это выглядит как необъяснимая порча одного или нескольких файлов, попавших на дефект. Проверить накопитель можно так: создать на жёстком диске непустой файл размером с флешку, скопировать на неё целиком и сравнить оба файла в бинарном режиме (команда fc /b в Windows). Если найдётся хотя бы одно несовпадение — флешка ненадёжна.
Подобные «полевые испытания», однако, не дают полной уверенности в исправности девайса. Для всестороннего тестирования флеш-накопителей (не только USB-драйвов, но и любых карт памяти) создан целый ряд специальных утилит, таких как Flashnul 1.0rc1, Flash Drive Tester 1.14, MyDiskTest 2.50, H2testw 1.4 и Flash Memory Toolkit 2.01. Они компактны, удобны в работе, обладают широкими диагностическими, но одновременно и деструктивными возможностями. По небрежности можно напортачить (например, затереть жёсткий диск), так что от пользователя требуется внимательность и знакомство с документацией, особенно для Flashnul, работающей в консольном режиме. Зато утилиты легко определяют дефектные и нестабильные сектора (в просторечии — бэд-блоки), сбои трансляции, реальную производительность, а также, что немаловажно, подделки. Ведь флешки и карты с контроллером, прошитым на бОльшую ёмкость, — постоянный ассортимент китайских базаров и интернет-барахолок.
Во всех описанных случаях проблемная флешка нуждается в ремонте. Программный ремонт включает очистку, а затем тестирование всей доступной флеш-памяти, составление новой таблицы трансляции и запись её в служебную область (обычно по фиксированным адресам). Данные действия часто обозначаются как «низкоуровневое форматирование». Обновляется и вся прочая служебная информация на чипах.
Ровно такие же действия предпринимаются при инициализации новой, только что собранной флешки на заводе, поэтому для ремонта, как правило, используются производственные утилиты класса MPTool. MP здесь означает Mass Production, и префикс дан не зря: «тул» может работать одновременно с 8 или даже 16 накопителями. Другое дело, что вне заводского конвейера такие возможности ни к чему и только усложняют жизнь.
Утилиты строго, даже излишне строго специализированы по моделям и модификациям контроллеров, поэтому надо искать подходящую для данного экземпляра версию, да ещё — чтобы она понимала имеющуюся флеш-память (это порой даже важнее). К сожалению, универсальных рецептов здесь нет. На флешках одной и той же модели версии контроллеров и варианты микросхем памяти меняются чуть ли не от партии к партии, так что готовые решения с форумов часто не срабатывают и приходится искать своё. Порой всё, что остаётся ремонтнику, — терпеливый перебор десятка-другого утилит той или иной категории плюс игры с настройками (отдельное удовольствие при размере ini-файла в полсотни строк, где смысл многих параметров туманен).
Данный класс технологического софта, конечно, не предназначался для широкого распространения, и ещё лет 5-6 назад добыть нужные программы было нелегко. А при их не слишком дружественном интерфейсе и отсутствии вменяемой документации — задача усложнялась дополнительно. Но спрос рождает предложение: с тех пор китайцы стянули и обнародовали почти всё, что ремонтнику надо, а наши энтузиасты создали некоммерческий ресурс flashboot.ru, на котором выложены в свободном доступе практически все имеющиеся ремонтные утилиты (за исключением, пожалуй, самых старых версий, восходящих к временам 64-мегабайтных флешек).
В Сети можно найти и другие полезные каталоги, например usb-disk.ru/prog.php и rdm.kiev.ua/pages/utils/flash. В них собран «флешечный» софт различного происхождения, в том числе фирменный, давно уже исчезнувший с официальных сайтов. Часть утилит неактуальна (относится к вышедшим из употребления моделям либо решает узкие задачи типа создания на флешке запароленного раздела), но остальное вполне может пригодиться при ремонте или восстановлении данных. Краткие пояснения облегчают выбор.
Следует отметить ресурс usbdev.ru/files — это фактически альтернатива flashboot.ru, содержащая множество технологических утилит с разбивкой по 35 маркам контроллеров. К часто используемым утилитам приводятся рекомендации, включая принципы подбора версии, порядок работы, основные параметры и коды ошибок. Определить модель контроллера и памяти без вскрытия флешки не всегда легко, и на сайте описаны различные способы, как это сделать. Подборка спецификаций на контроллеры и микросхемы памяти пригодится для справок.
Особую ценность сайту flashboot.ru придают методические материалы: инструкции по программному ремонту флешек тех или иных моделей, документация ко многим утилитам, а главное — обширный форум, на котором начинающие и продвинутые ремонтники делятся своим опытом. В постах описаны многочисленные трудности и способы их преодоления. Всех советов не перечислить, приведем три более-менее общих.
|